home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 October / CMCD1004.ISO / Software / Shareware / Programare / gpssdk / GPS.NET Global Positioning SDK 1.4.6.msi / Data1.cab / StormSource.Gps.WindowsCE.xm2 < prev    next >
Encoding:
Extensible Markup Language  |  2004-07-31  |  523.3 KB  |  10,391 lines

  1. ∩╗┐<?xml version="1.0"?>
  2. <doc>
  3. <assembly>
  4. <name>
  5. StormSource.Gps
  6. </name>
  7. </assembly>
  8. <members>
  9. <member name="F:StormSource.Gps.Azimuth.North">
  10.     <summary>Represents a direction of travel of 0┬░.</summary>
  11.     <example>
  12.         <code lang="VB">Dim MyAngle As Angle = Angle.North</code>
  13.         <code lang="C#">Angle MyAngle = Angle.North;</code>
  14.     </example>
  15. </member><member name="F:StormSource.Gps.Azimuth.NorthNorthEast">
  16.     <summary>Represents a direction of travel of 22.5┬░, between north and northeast.</summary>
  17.     <example>
  18.         <code lang="VB">Dim MyAngle As Angle = Angle.NorthNorthEast</code>
  19.         <code lang="C#">Angle MyAngle = Angle.NorthNorthEast;</code>
  20.     </example>
  21. </member><member name="F:StormSource.Gps.Azimuth.NorthEast">
  22.     <summary>Represents a direction of travel of 45┬░.</summary>
  23.     <example>
  24.         <code lang="VB">Dim MyAngle As Angle = Angle.NorthEast</code>
  25.         <code lang="C#">Angle MyAngle = Angle.NorthEast;</code>
  26.     </example>
  27. </member><member name="F:StormSource.Gps.Azimuth.EastNorthEast">
  28.     <summary>Represents a direction of travel of 0┬░.</summary>
  29.     <example>
  30.         <code lang="VB">Dim MyAngle As Angle = Angle.EastNorthEast</code>
  31.         <code lang="C#">Angle MyAngle = Angle.EastNorthEast;</code>
  32.     </example>
  33. </member><member name="F:StormSource.Gps.Azimuth.East">
  34.     <summary>Represents a direction of travel of 90┬░.</summary>
  35.     <example>
  36.         <code lang="VB">Dim MyAngle As Angle = Angle.East</code>
  37.         <code lang="C#">Angle MyAngle = Angle.East;</code>
  38.     </example>
  39. </member><member name="F:StormSource.Gps.Azimuth.EastSouthEast">
  40.     <summary>Represents a direction of travel of 112.5┬░, between east and southeast.</summary>
  41.     <example>
  42.         <code lang="VB">Dim MyAngle As Angle = Angle.EastSouthEast</code>
  43.         <code lang="C#">Angle MyAngle = Angle.EastSouthEast;</code>
  44.     </example>
  45. </member><member name="F:StormSource.Gps.Azimuth.SouthEast">
  46.     <summary>Represents a direction of travel of 135┬░.</summary>
  47.     <example>
  48.         <code lang="VB">Dim MyAngle As Angle = Angle.SouthEast</code>
  49.         <code lang="C#">Angle MyAngle = Angle.SouthEast;</code>
  50.     </example>
  51. </member><member name="F:StormSource.Gps.Azimuth.SouthSouthEast">
  52.     <summary>Represents a direction of travel of 157.5┬░, between south and southeast.</summary>
  53.     <example>
  54.         <code lang="VB">Dim MyAngle As Angle = Angle.SouthSouthEast</code>
  55.         <code lang="C#">Angle MyAngle = Angle.SouthSouthEast;</code>
  56.     </example>
  57. </member><member name="F:StormSource.Gps.Azimuth.South">
  58.     <summary>Represents a direction of travel of 180┬░.</summary>
  59.     <example>
  60.         <code lang="VB">Dim MyAngle As Angle = Angle.South</code>
  61.         <code lang="C#">Angle MyAngle = Angle.South;</code>
  62.     </example>
  63. </member><member name="F:StormSource.Gps.Azimuth.SouthSouthWest">
  64.     <summary>Represents a direction of travel of 202.5┬░, between south and southwest.</summary>
  65.     <example>
  66.         <code lang="VB">Dim MyAngle As Angle = Angle.SouthSouthWest</code>
  67.         <code lang="C#">Angle MyAngle = Angle.SouthSouthWest;</code>
  68.     </example>
  69. </member><member name="F:StormSource.Gps.Azimuth.SouthWest">
  70.     <summary>Represents a direction of travel of 225┬░.</summary>
  71.     <example>
  72.         <code lang="VB">Dim MyAngle As Angle = Angle.SouthWest</code>
  73.         <code lang="C#">Angle MyAngle = Angle.SouthWest;</code>
  74.     </example>
  75. </member><member name="F:StormSource.Gps.Azimuth.WestSouthWest">
  76.     <summary>Represents a direction of travel of 247.5┬░, between west and southwest.</summary>
  77.     <example>
  78.         <code lang="VB">Dim MyAngle As Angle = Angle.WestSouthWest</code>
  79.         <code lang="C#">Angle MyAngle = Angle.WestSouthWest;</code>
  80.     </example>
  81. </member><member name="F:StormSource.Gps.Azimuth.West">
  82.     <summary>Represents a direction of travel of 270┬░.</summary>
  83.     <example>
  84.         <code lang="VB">Dim MyAngle As Angle = Angle.West</code>
  85.         <code lang="C#">Angle MyAngle = Angle.West;</code>
  86.     </example>
  87. </member><member name="F:StormSource.Gps.Azimuth.WestNorthWest">
  88.     <summary>Represents a direction of travel of 292.5┬░, between west and northwest.</summary>
  89.     <example>
  90.         <code lang="VB">Dim MyAngle As Angle = Angle.WestNorthWest</code>
  91.         <code lang="C#">Angle MyAngle = Angle.WestNorthWest;</code>
  92.     </example>
  93. </member><member name="F:StormSource.Gps.Azimuth.NorthWest">
  94.     <summary>Represents a direction of travel of 315┬░.</summary>
  95.     <example>
  96.         <code lang="VB">Dim MyAngle As Angle = Angle.NorthWest</code>
  97.         <code lang="C#">Angle MyAngle = Angle.NorthWest;</code>
  98.     </example>
  99. </member><member name="F:StormSource.Gps.Azimuth.NorthNorthWest">
  100.     <summary>Represents a direction of travel of 337.5┬░, between north and northwest.</summary>
  101.     <example>
  102.         <code lang="VB">Dim MyAngle As Angle = Angle.NorthNorthWest</code>
  103.         <code lang="C#">Angle MyAngle = Angle.NorthNorthWest;</code>
  104.     </example>
  105. </member><member name="E:StormSource.Gps.Azimuth.CardinalDirectionChanged(System.Object,StormSource.Gps.AzimuthEventArgs)">
  106.     <summary>Occurs when the compass direction has changed.</summary>
  107.     <remarks>
  108.  This event is most useful for determining when the <em>general</em> direction of
  109.  travel has changed.
  110.  </remarks>
  111.     <seealso cref="P:StormSource.Gps.Azimuth.CardinalDirection">CardinalDirection Property</seealso>
  112. </member><member name="M:StormSource.Gps.Azimuth.#ctor">
  113.     <summary>Creates a new instance.</summary>
  114.     <example>
  115.  This example creates a new azimuth with a default value of 0┬░.
  116.  <code lang="VB">
  117.  Dim MyAzimuth As New Azimuth()
  118.  </code>
  119.         <code lang="C#">
  120.  Azimuth MyAzimuth = new Azimuth();
  121.  </code>
  122.     </example>
  123. </member><member name="M:StormSource.Gps.Azimuth.#ctor(StormSource.Gps.Azimuth)">
  124.     <overloads>Creates a copy of another azimuth.</overloads>
  125.     <remarks>Known as a "copy constructor," this constructor provides a quick way to copy an azimuth object.</remarks>
  126.     <example>
  127.  This example creates a new azimuth with a default value of 0┬░.
  128.  <code lang="VB">
  129.  Dim Azimuth1 As New Azimuth(90)
  130.  Dim Azimuth2 As New Azimuth(Azimuth1)
  131.  </code>
  132.         <code lang="C#">
  133.  Azimuth Azimuth1 = new Azimuth(90);
  134.  Azimuth Azimuth2 = new Azimuth(Azimuth1);
  135.  </code>
  136.     </example>
  137. </member><member name="M:StormSource.Gps.Azimuth.#ctor(System.Double,System.Boolean)">
  138.     <summary>Creates a new, immutable instance.</summary>
  139.     <example>
  140.  This example creates an azimuth of 90┬░ which cannot be modified.
  141.  <code lang="VB">
  142.  Dim MyAzimuth As New Azimuth(90, True)
  143.  </code>
  144.         <code lang="C#">
  145.  Azimuth MyAzimuth = new Azimuth(90, True);
  146.  </code>
  147.     </example>
  148. </member><member name="M:StormSource.Gps.Azimuth.#ctor(StormSource.Gps.Angle)">
  149.     <summary>Creates a new instance based on the given Angle object.</summary>
  150.     <remarks>
  151.  This method is typically used to "upgrade" an <strong>Angle</strong> object into
  152.  an <strong>Azimuth</strong> object to take advantage of additional features not
  153.  available to an angle, such as the
  154.  <see cref="P:StormSource.Gps.Azimuth.CardinalDirection">CardinalDirection</see> property.
  155.  </remarks>
  156.     <param name="angle">
  157.  An <strong>Angle</strong> object containing properties for the new
  158.  <strong>Azimuth</strong> object.
  159.  </param>
  160. </member><member name="M:StormSource.Gps.Azimuth.#ctor(System.Double)">
  161.     <summary>Creates a new instance with the specified decimal degrees.</summary>
  162. </member><member name="M:StormSource.Gps.Azimuth.#ctor(StormSource.Gps.CardinalDirection)">
  163.     <summary>Creates a new instances based on the specified cardinal direction.</summary>
  164.     <remarks>
  165.  This constructor converts an in-English cardinal direction into its numeric
  166.  equivalent. To create an instance from a string value such as "North" or
  167.  "East-SouthEast," see the <see cref="M:StormSource.Gps.Receiver.Parse(System.String)">Parse</see>
  168.  method.
  169.  </remarks>
  170.     <param name="cardinalDirection">
  171.  One of sixteen values from the
  172.  <see cref="P:StormSource.Gps.Azimuth.CardinalDirection">CardinalDirection</see> enumeration.
  173.  </param>
  174. </member><member name="M:StormSource.Gps.Azimuth.#ctor(System.Int32,System.Int32,System.Double)">
  175.     <summary>Creates a new instance with the specified hours, minutes and 
  176.  seconds.</summary>
  177. </member><member name="M:StormSource.Gps.Azimuth.#ctor(System.Int32,System.Double)">
  178.     <summary>Creates a new instance with the specified hours and decimal minutes.</summary>
  179. </member><member name="M:StormSource.Gps.Azimuth.#ctor(System.String)">
  180.     <summary>
  181.  Creates a new instance with the specified hours, minutes and/or seconds in the
  182.  form of a string.
  183.  </summary>
  184.     <param name="value">
  185.         <para>A <strong>String</strong> value containing an angular measurement. See the
  186.      <see cref="M:StormSource.Gps.Azimuth.Parse(System.String)">Parse</see> method for acceptable
  187.      formats.</para>
  188.     </param>
  189.     <remarks>
  190.         <para>This powerful method is typically used to process data from a data store or a
  191.      value input by the user. This function can accept any format which can be output by
  192.      the <see cref="M:StormSource.Gps.Angle.ToString">ToString</see> method.</para>
  193.     </remarks>
  194. </member><member name="P:StormSource.Gps.Azimuth.CurrentBearing">
  195.     <summary>Read only. Returns the current direction of travel.</summary>
  196.     <remarks>
  197.  This property returns the current direction of travel if it is known by the GPS
  198.  device. This property is the same as the <see cref="P:StormSource.Gps.Receiver.Bearing">Bearing</see>
  199.  property of the <see cref="T:StormSource.Gps.Receiver">Receiver</see> class. If the Receiver class is 
  200.  not started, this property will return an azimuth of 0┬░.
  201.  </remarks>
  202.     <value>An <strong>Azimuth</strong> object.</value>
  203.     <example>
  204.  This example uses the CurrentBearing property to show the current direction of travel.
  205.  <code lang="VB">
  206.  Debug.WriteLine(Azimuth.CurrentBearing.ToString)
  207.  </code>
  208.         <code lang="C#">
  209.  Debug.WriteLine(Azimuth.CurrentBearing.ToString());
  210.  </code>
  211.     </example>
  212.     <seealso cref="P:StormSource.Gps.Azimuth.CurrentMagneticBearing">CurrentMagneticBearing Property</seealso>
  213.     <seealso cref="P:StormSource.Gps.Receiver.Bearing">Bearing Property (Receiver Class)</seealso>
  214. </member><member name="M:StormSource.Gps.Azimuth.Clone">
  215.     <summary>Returns a copy of the current instance.</summary>
  216.     <returns>
  217.  A new <strong>Azimuth</strong> whose properties match that of the current
  218.  instance.
  219.  </returns>
  220.     <remarks>
  221.  This method is typically used to make a copy of an azimuth while preserving its
  222.  original values, or to add an Azimuth into a collection.
  223.  </remarks>
  224.     <example>
  225.         <code lang="VB">
  226.  Dim Azimuth1 As New Azimuth(90)
  227.  Dim Azimuth2 As Azimuth = Azimuth1.Clone
  228.  </code>
  229.         <code lang="C#">
  230.  Azimuth Azimuth1 = new Azimuth(90);
  231.  Azimuth Azimuth2 = Azimuth1.Clone();
  232.  </code>
  233.     </example>
  234. </member><member name="P:StormSource.Gps.Azimuth.CurrentMagneticBearing">
  235.     <summary>
  236.  Returns the current direction of travel adjusted by the current magnetic
  237.  variation.
  238.  </summary>
  239.     <remarks>
  240.  This property returns the current true-north-oriented direction of travel into a
  241.  magnetic-north-oriented direction. This property is typically used to synchronize GPS
  242.  bearing reports with a magnetic compass. This property is the same as the
  243.  <see cref="P:StormSource.Gps.Receiver.MagneticBearing">MagneticBearing</see> property of the
  244.  <see cref="T:StormSource.Gps.Receiver">Receiver</see> class. If the Receiver class is not started, this 
  245.  property will return an azimuth of 0┬░.
  246.  </remarks>
  247.     <value>An <strong>Azimuth</strong> object.</value>
  248.     <seealso cref="P:StormSource.Gps.Azimuth.CurrentBearing">CurrentBearing Property</seealso>
  249.     <seealso cref="P:StormSource.Gps.Receiver.MagneticVariation">MagneticVariation Property (Receiver Class)</seealso>
  250.     <seealso cref="P:StormSource.Gps.Receiver.Bearing">Bearing Property (Receiver Class)</seealso>
  251. </member><member name="P:StormSource.Gps.Azimuth.DecimalDegrees">
  252.     <summary>Represents hours, minutes and/or seconds as a single numeric value.</summary>
  253.     <value>A <strong>Double</strong> value.</value>
  254.     <remarks>
  255.  This property is typically used when a measurement does not need to be specified
  256.  as individual hours, minutes and seconds. Changing this property causes the
  257.  <see cref="E:StormSource.Gps.Angle.DecimalDegreesChanged(System.Object,StormSource.Gps.AngleEventArgs)">
  258.  DecimalDegreesChanged</see> event to be raised, and the
  259.  <see cref="P:StormSource.Gps.Azimuth.Hours">Hours</see>,
  260.  <see cref="P:StormSource.Gps.Azimuth.Minutes">Minutes</see> and
  261.  <see cref="P:StormSource.Gps.Azimuth.Seconds">Seconds</see> properties are automatically
  262.  recalculated.
  263.  </remarks>
  264.     <seealso cref="E:StormSource.Gps.Angle.DecimalDegreesChanged(System.Object,StormSource.Gps.AngleEventArgs)">DecimalDegreesChanged Event</seealso>
  265.     <seealso cref="P:StormSource.Gps.Azimuth.Hours">Hours Property</seealso>
  266.     <seealso cref="P:StormSource.Gps.Azimuth.Minutes">Minutes Property</seealso>
  267.     <seealso cref="P:StormSource.Gps.Azimuth.Seconds">Seconds Property</seealso>
  268.     <example>
  269.      This example demonstrates how the
  270.      <see cref="P:StormSource.Gps.Azimuth.DecimalDegrees">DecimalDegrees</see> property
  271.      re-calculates the Hours, Minutes, DecimalMinutes and Seconds properties
  272.      automatically. Note how the Hours property is output even though it was not
  273.      explicitly set to a value.
  274.      <code lang="VB">
  275.  Dim MyAzimuth As New Azimuth()
  276.  MyAzimuth.DecimalDegrees = 20.5
  277.  Debug.WriteLine(MyAzimuth.Hours)
  278.  ' Output: "20"
  279.      </code>
  280.         <code lang="C#">
  281.  Azimuth MyAzimuth = new Azimuth();
  282.  MyAzimuth.DecimalDegrees = 20.5;
  283.  Debug.WriteLine(MyAzimuth.Hours);
  284.  // Output: "20"
  285.      </code>
  286.     </example>
  287.     <exception cref="T:StormSource.Gps.ImmutableObjectException" caption="ImmutableObjectException">Thrown if the object was created 
  288.  with the IsImmutable flag set.  This is typically thrown when attempting to modify a 
  289.  shared member.</exception>
  290. </member><member name="P:StormSource.Gps.Azimuth.DecimalMinutes">
  291.     <summary>Returns the minutes and seconds as a single numeric value.</summary>
  292.     <seealso cref="P:StormSource.Gps.Azimuth.Minutes">Minutes Property</seealso>
  293.     <seealso cref="P:StormSource.Gps.Azimuth.DecimalDegrees">DecimalDegrees Property</seealso>
  294.     <seealso cref="E:StormSource.Gps.Angle.MinutesChanged(System.Object,StormSource.Gps.AngleEventArgs)">MinutesChanged Event</seealso>
  295.     <seealso cref="E:StormSource.Gps.Angle.SecondsChanged(System.Object,StormSource.Gps.AngleEventArgs)">SecondsChanged Event</seealso>
  296.     <value>A <strong>Double</strong> value.</value>
  297.     <remarks>
  298.  This property is typically used when the hours an minutes of a measurement are
  299.  known, but not the seconds. Changing this property causes the
  300.  <see cref="E:StormSource.Gps.Angle.MinutesChanged(System.Object,StormSource.Gps.AngleEventArgs)">MinutesChanged</see> and
  301.  <see cref="E:StormSource.Gps.Angle.SecondsChanged(System.Object,StormSource.Gps.AngleEventArgs)">SecondsChanged</see> events to be raised, and the
  302.  <see cref="P:StormSource.Gps.Azimuth.Hours">DecimalDegrees</see> and
  303.  <see cref="P:StormSource.Gps.Azimuth.Seconds">Seconds</see> properties are
  304.  automatically recalculated.
  305.  </remarks>
  306.     <exception cref="T:StormSource.Gps.ImmutableObjectException" caption="ImmutableObjectException">Thrown if the object was created 
  307.  with the IsImmutable flag set.  This is typically thrown when attempting to modify a 
  308.  shared member.</exception>
  309.     <example>
  310.  This example demonstrates how setting this property causes the Hours, Minutes, 
  311.  DecimalDegrees and Seconds properties to be recalculated automatically. Note how the 
  312.  Hours property is correct even though it was not explicitly set to a value.
  313.  <code lang="VB">
  314.  ' Create an Azimuth of 20.5┬░
  315.  Dim MyAzimuth As New Azimuth()
  316.  MyAzimuth.DecimalDegrees = 20.5
  317.  ' Setting the DecimalMinutes recalculated other properties 
  318.  Debug.WriteLine(MyAzimuth.Minutes)
  319.  ' Output: "20"
  320.  </code>
  321.         <code lang="C#">
  322.  // Create an Azimuth of 20.5┬░
  323.  Azimuth MyAzimuth = new Azimuth();
  324.  MyAzimuth.DecimalMinutes = 20.5;
  325.  // Setting the DecimalMinutes recalculated other properties 
  326.  Debug.WriteLine(MyAzimuth.Minutes);
  327.  // Output: "20"
  328.  </code>
  329.     </example>
  330. </member><member name="P:StormSource.Gps.Azimuth.Hours">
  331.     <summary>Returns the integer hours (degrees) portion of an angular 
  332.  measurement.</summary>
  333.     <seealso cref="E:StormSource.Gps.Angle.HoursChanged(System.Object,StormSource.Gps.AngleEventArgs)">HoursChanged Event</seealso>
  334.     <seealso cref="P:StormSource.Gps.Azimuth.Minutes">Minutes Property</seealso>
  335.     <seealso cref="P:StormSource.Gps.Azimuth.Seconds">Seconds Property</seealso>
  336.     <value>An <strong>Integer</strong> value.</value>
  337.     <remarks>This property is used in conjunction with the <see cref="P:StormSource.Gps.Azimuth.Minutes">Minutes</see> 
  338.  and <see cref="P:StormSource.Gps.Azimuth.Seconds">Seconds</see> properties to 
  339.  create a <see cref="M:StormSource.Gps.Angle.SetSexagesimal">sexagesimal</see> measurement.  Changing this 
  340.  property causes the <see cref="P:StormSource.Gps.Azimuth.DecimalDegrees">DecimalDegrees</see> property to be 
  341.  recalculated to match the decimal representation of the sexagesimal measurement.  The
  342.  <see cref="E:StormSource.Gps.Angle.HoursChanged(System.Object,StormSource.Gps.AngleEventArgs)">HoursChanged</see> event is also Occurs when this property
  343.  changes.  If this property is assigned to a value
  344.      outside the allowed minimum and maximum, the value will automatically be
  345.      <see cref="M:StormSource.Gps.Angle.Normalize(System.Double)">normalized</see>.
  346.  </remarks>
  347.     <exception cref="T:StormSource.Gps.ImmutableObjectException" caption="ImmutableObjectException">Thrown if the object was created 
  348.  with the IsImmutable flag set.  This is typically thrown when attempting to modify a 
  349.  shared member.</exception>
  350.     <example>This example creates an Azimuth of 45┬░ using the Hours property.
  351.  <code lang="VB">
  352.  Dim MyAzimuth As New Azimuth()
  353.  MyAzimuth.Hours = 45
  354.  </code>
  355.         <code lang="C#">
  356.  Azimuth MyAzimuth = new Azimuth();
  357.  MyAzimuth.Hours = 45;
  358.  </code>
  359.     </example>
  360. </member><member name="P:StormSource.Gps.Azimuth.Minutes">
  361.     <summary>Returns the integer minutes portion of an angular measurement.</summary>
  362.     <seealso cref="E:StormSource.Gps.Angle.MinutesChanged(System.Object,StormSource.Gps.AngleEventArgs)">MinutesChanged Event</seealso>
  363.     <seealso cref="P:StormSource.Gps.Azimuth.Hours">Hours Property</seealso>
  364.     <seealso cref="P:StormSource.Gps.Azimuth.Seconds">Seconds Property</seealso>
  365.     <remarks>This property is used in conjunction with the <see cref="P:StormSource.Gps.Azimuth.Hours">Hours</see> 
  366.  and <see cref="P:StormSource.Gps.Azimuth.Seconds">Seconds</see> properties to 
  367.  create a <see cref="M:StormSource.Gps.Angle.SetSexagesimal">sexagesimal</see> measurement.  Changing this 
  368.  property causes the <see cref="P:StormSource.Gps.Azimuth.DecimalDegrees">DecimalDegrees</see> property to be 
  369.  recalculated to match the decimal representation of the sexagesimal measurement.  The
  370.  <see cref="E:StormSource.Gps.Angle.MinutesChanged(System.Object,StormSource.Gps.AngleEventArgs)">MinutesChanged</see> event is also Occurs when this property
  371.  changes.
  372.  </remarks>
  373.     <value>An <strong>Integer</strong>.</value>
  374.     <exception cref="T:StormSource.Gps.ImmutableObjectException" caption="ImmutableObjectException">Thrown if the object was created 
  375.  with the IsImmutable flag set.  This is typically thrown when attempting to modify a 
  376.  shared member.</exception>
  377.     <example>This example creates an Azimuth of 45┬░30' (45 degrees, 30 minutes) using the Hours and Minutes properties.
  378.  <code lang="VB">
  379.  Dim MyAzimuth As New Azimuth()
  380.  MyAzimuth.Hours = 45
  381.  MyAzimuth.Minutes = 30
  382.  </code>
  383.         <code lang="C#">
  384.  Azimuth MyAzimuth = new Azimuth();
  385.  MyAzimuth.Hours = 45;
  386.  MyAzimuth.Minutes = 30;
  387.  </code>
  388.     </example>
  389. </member><member name="M:StormSource.Gps.Azimuth.Parse(System.String)">
  390.     <summary>
  391.  Converts an angular measurement in the form of a string into an
  392.  <strong>Azimuth</strong> object.
  393.  </summary>
  394.     <returns>A new <strong>Azimuth</strong> object populated with the specified 
  395.  values.</returns>
  396.     <remarks>
  397.         <para>This powerful method is typically used to process data from a data store or a
  398.      value input by the user. This function can accept any format which can be output by
  399.      the <see cref="M:StormSource.Gps.Angle.ToString">ToString</see> method.</para>
  400.     </remarks>
  401.     <exception cref="T:System.ArgumentNullException" caption="ArgumentNullException">The Parse method requires a decimal or sexagesimal measurement.</exception>
  402.     <exception cref="T:System.FormatException" caption="FormatException">1. Only the right-most portion of a sexagesimal measurement can be a fractional value.
  403.  2. Extra characters were encountered while parsing an angular measurement.  Only hours, minutes, and seconds are allowed.
  404.  3. The specified text was not fully understood as an angular measurement.</exception>
  405.     <param name="value">
  406.         <para>A <strong>String</strong> in any of the following formats (or variations
  407.      depending on the local culture):</para>
  408.         <para>
  409.             <table cellspacing="0" cols="4" cellpadding="2" width="100%">
  410.                 <tbody>
  411.                     <tr>
  412.                         <td>hh</td>
  413.                         <td>hh.h</td>
  414.                         <td>hh mm</td>
  415.                         <td>hh mm.mm</td>
  416.                     </tr>
  417.                     <tr>
  418.                         <td>hh mm ss</td>
  419.                         <td>hh mm ss.sss</td>
  420.                         <td></td>
  421.                         <td></td>
  422.                     </tr>
  423.                     <tr>
  424.                         <td>NNE</td>
  425.                         <td>NORTHNORTHEAST</td>
  426.                         <td>NORTH-NORTHEAST</td>
  427.                         <td>NORTH NORTHEAST</td>
  428.                     </tr>
  429.                     <tr>
  430.                         <td>NE</td>
  431.                         <td>NORTHEAST</td>
  432.                         <td>NORTH-EAST</td>
  433.                         <td>NORTH EAST</td>
  434.                     </tr>
  435.                     <tr>
  436.                         <td>ENE</td>
  437.                         <td>EASTNORTHEAST</td>
  438.                         <td>EAST-NORTHEAST</td>
  439.                         <td>EAST NORTHEAST</td>
  440.                     </tr>
  441.                     <tr>
  442.                         <td>E</td>
  443.                         <td>EAST</td>
  444.                         <td>ESE</td>
  445.                         <td>EASTSOUTHEAST</td>
  446.                     </tr>
  447.                     <tr>
  448.                         <td>EAST-SOUTHEAST</td>
  449.                         <td>EAST SOUTHEAST</td>
  450.                         <td>SE</td>
  451.                         <td>SOUTHEAST</td>
  452.                     </tr>
  453.                     <tr>
  454.                         <td>NORTH-EAST</td>
  455.                         <td>NORTH EAST</td>
  456.                         <td>SSE</td>
  457.                         <td>SOUTHSOUTHEAST</td>
  458.                     </tr>
  459.                     <tr>
  460.                         <td>SOUTH-SOUTHEAST</td>
  461.                         <td>SOUTH SOUTHEAST</td>
  462.                         <td>S</td>
  463.                         <td>SOUTH</td>
  464.                     </tr>
  465.                     <tr>
  466.                         <td>SSW</td>
  467.                         <td>SOUTHSOUTHWEST</td>
  468.                         <td>SOUTH-SOUTHWEST</td>
  469.                         <td>SOUTH SOUTHWEST</td>
  470.                     </tr>
  471.                     <tr>
  472.                         <td>SW</td>
  473.                         <td>SOUTHWEST</td>
  474.                         <td>SOUTH-WEST</td>
  475.                         <td>SOUTH WEST</td>
  476.                     </tr>
  477.                     <tr>
  478.                         <td>WSW</td>
  479.                         <td>WESTSOUTHWEST</td>
  480.                         <td>WEST-SOUTHWEST</td>
  481.                         <td>WEST SOUTHWEST</td>
  482.                     </tr>
  483.                     <tr>
  484.                         <td>W</td>
  485.                         <td>WEST</td>
  486.                         <td>WNW</td>
  487.                         <td>WESTNORTHWEST</td>
  488.                     </tr>
  489.                     <tr>
  490.                         <td>WEST-NORTHWEST</td>
  491.                         <td>WEST NORTHWEST</td>
  492.                         <td>NW</td>
  493.                         <td>NORTHWEST</td>
  494.                     </tr>
  495.                     <tr>
  496.                         <td>NORTH-WEST</td>
  497.                         <td>NORTH WEST</td>
  498.                         <td>NNW</td>
  499.                         <td>NORTHNORTHWEST</td>
  500.                     </tr>
  501.                     <tr>
  502.                         <td>NORTH-NORTHWEST</td>
  503.                         <td>NORTH NORTHWEST</td>
  504.                         <td></td>
  505.                         <td></td>
  506.                     </tr>
  507.                 </tbody>
  508.             </table>
  509.         </para>
  510.         <para>Formats are not case-sensitive and any non-numeric character between numbers
  511.      is considered a delimiter. Thus, a value of <strong>12┬░34'56.78"</strong> or even
  512.      <strong>12A34B56.78C</strong> is treated the same as <strong>12 34
  513.      56.78</strong>.</para>
  514.     </param>
  515.     <seealso cref="M:StormSource.Gps.Angle.ToString">ToString Method</seealso>
  516.     <example>
  517.      This example creates a new angular measurement using the Parse method. 
  518.      <code lang="VB">
  519.  Dim NewAngle As Angle = Angle.Parse("123.45┬░")
  520.      </code>
  521.         <code lang="C#">
  522.  Angle NewAngle = Angle.Parse("123.45┬░");
  523.      </code>
  524.     </example>
  525. </member><member name="P:StormSource.Gps.Azimuth.Seconds">
  526.     <summary>Returns the seconds minutes portion of an angular measurement.</summary>
  527.     <remarks>This property is used in conjunction with the <see cref="P:StormSource.Gps.Azimuth.Hours">Hours</see> 
  528.  and <see cref="P:StormSource.Gps.Azimuth.Minutes">Minutes</see> properties to 
  529.  create a <see cref="M:StormSource.Gps.Angle.SetSexagesimal">sexagesimal</see> measurement.  Changing this 
  530.  property causes the <see cref="P:StormSource.Gps.Azimuth.DecimalDegrees">DecimalDegrees</see> property to be 
  531.  recalculated to match the decimal representation of the sexagesimal measurement.  The
  532.  <see cref="E:StormSource.Gps.Angle.SecondsChanged(System.Object,StormSource.Gps.AngleEventArgs)">SecondsChanged</see> event is also Occurs when this property
  533.  changes.
  534.  </remarks>
  535.     <seealso cref="E:StormSource.Gps.Angle.SecondsChanged(System.Object,StormSource.Gps.AngleEventArgs)">SecondsChanged Event</seealso>
  536.     <seealso cref="P:StormSource.Gps.Azimuth.Hours">Hours Property</seealso>
  537.     <seealso cref="P:StormSource.Gps.Azimuth.Minutes">Minutes Property</seealso>
  538.     <value>A <strong>Double</strong> value.</value>
  539.     <exception cref="T:StormSource.Gps.ImmutableObjectException" caption="ImmutableObjectException">Thrown if the object was created 
  540.  with the IsImmutable flag set.  This is typically thrown when attempting to modify a 
  541.  shared member.</exception>
  542.     <example>This example creates an Azimuth of 45┬░30'15" (45 degrees, 30 minutes, 15 seconds) 
  543.  using the Hours, Minutes and Seconds properties.
  544.  <code lang="VB">
  545.  Dim MyAzimuth As New Azimuth()
  546.  MyAzimuth.Hours = 45
  547.  MyAzimuth.Minutes = 30
  548.  MyAzimuth.Seconds = 15
  549.  </code>
  550.         <code lang="C#">
  551.  Azimuth MyAzimuth = new Azimuth();
  552.  MyAzimuth.Hours = 45;
  553.  MyAzimuth.Minutes = 30;
  554.  MyAzimuth.Seconds = 15;
  555.  </code>
  556.     </example>
  557. </member><member name="M:StormSource.Gps.Azimuth.Equals(StormSource.Gps.Azimuth)">
  558.     <summary>
  559.  Compares the current instance to another Azimuth object.
  560.  </summary>
  561. </member><member name="M:StormSource.Gps.Azimuth.Equals(StormSource.Gps.Azimuth,System.Int32)">
  562.     <summary>
  563.  Compares the current instance to another Azimuth object using the specified number of digits of precision.
  564.  </summary>
  565. </member><member name="M:StormSource.Gps.Azimuth.Equals(StormSource.Gps.CardinalDirection)">
  566.     <summary>
  567.  Compares the current instance to the specified compass direction.
  568.  </summary>
  569. </member><member name="P:StormSource.Gps.Azimuth.CardinalDirection">
  570.     <summary>
  571.  Returns the current decimal degrees expressed as a compass direction, such as north or northeast.
  572.  </summary>
  573.     <remarks>This powerful property converts any azimuthal measurement into a compass direction.  For 
  574.  example, an azimuth of 89┬░ points almost exactly to the east, therefore a value of East would be
  575.  returned by this property.  When this property changes, the 
  576.  <see cref="E:StormSource.Gps.Azimuth.CardinalDirectionChanged(System.Object,StormSource.Gps.AzimuthEventArgs)">CardinalDirectionChanged</see> event is raised.
  577.  </remarks>
  578.     <example>This example outputs the cardinal direction accosiated with an azimuth of 89┬░.
  579.  <code lang="VB">
  580.  ' Create an azimuth of 89┬░
  581.  Dim MyAzimuth As New Azimuth(89)
  582.  ' Output its cardinal direction (which is East)
  583.  Debug.WriteLine(MyAzimuth.CardinalDirection.ToString)
  584.  </code>
  585.         <code lang="C#">
  586.  // Create an azimuth of 89┬░
  587.  Azimuth MyAzimuth = new Azimuth(89);
  588.  // Output its cardinal direction (which is East)
  589.  Debug.WriteLine(MyAzimuth.CardinalDirection.ToString())
  590.  </code>
  591.     </example>
  592.     <value>A value from the <see cref="T:StormSource.Gps.CardinalDirection">CardinalDirection</see> enumeration.</value>
  593.     <seealso cref="E:StormSource.Gps.Azimuth.CardinalDirectionChanged(System.Object,StormSource.Gps.AzimuthEventArgs)">CardinalDirectionChanged event</seealso>
  594. </member><member name="T:StormSource.Gps.Azimuth">
  595.     <summary>Represents an angular measurement around the horizon between 0┬░ and 
  596.  360┬░.</summary>
  597.     <remarks>
  598.         <para>This class is commonly used to represent a direction of travel. For example, the
  599.     <see cref="P:StormSource.Gps.Receiver.Bearing">Bearing</see> and
  600.     <see cref="P:StormSource.Gps.Receiver.MagneticBearing">MagneticBearing</see> properties
  601.     of the <see cref="T:StormSource.Gps.Receiver">Receiver</see> class use an azimuth to show the
  602.     current direction of travel. An azimuth can also be used in conjunction with a
  603.     vertical angle (referred to as an "elevation") to create a 3-D direction towards an object in the visible sky, such
  604.     as a GPS <see cref="T:StormSource.Gps.Satellite">satellite</see>.</para>
  605.         <para><img src="Azimuth.jpg"/></para>
  606.     </remarks>
  607.     <example>
  608.  Creates an azimuth with a value of 45┬░.
  609.  <code lang="VB">
  610.  Dim MyAzimuth As New Azimuth(45)
  611.  </code>
  612.         <code lang="C#">
  613.  Azimuth MyAzimuth = new Azimuth(45);
  614.  </code> 
  615.  This next example creates a new azimuth equal to direction north-northwest.
  616.  <code lang="VB">
  617.  Dim MyAzimuth As Azimuth = Azimuth.NorthNorthWest
  618.  </code>
  619.         <code lang="C#">
  620.  Azimuth MyAzimuth = Azimuth.NorthNorthWest;
  621.  </code>
  622.  This example demonstrates the powerful CardinalDirection property, which turns a numeric measurement into a compass direction.
  623.  <code lang="VB">
  624.  Dim MyAzimuth As New Azimuth(113)
  625.  ' Is an azimuth of 113┬░ the same as traveling east-southeast?
  626.  If MyAzimuth.CardinalDirection = CardinalDirection.EastSouthEast Then
  627.    ' Yes
  628.  End If
  629.  </code>
  630.         <code lang="C#">
  631.  Azimuth MyAzimuth = new Azimuth(113);
  632.  // Is an azimuth of 113┬░ the same as traveling east-southeast?
  633.  if (MyAzimuth.CardinalDirection = CardinalDirection.EastSouthEast)
  634.  {
  635.    // Yes
  636.  }
  637.  </code>
  638.  This next example demonstrates how an azimuth can be output as a string in any custom format (and international culture).
  639.  <code lang="VB">
  640.  Dim MyAzimuth As Azimuth = Azimuth.SouthEast
  641.  Debug.WriteLine(MyAzimuth.ToString("dd┬░mm.mmm'"))
  642.  </code>
  643.         <code lang="C#">
  644.  Azimuth MyAzimuth = Azimuth.SouthEast;
  645.  Debug.WriteLine(MyAzimuth.ToString("dd┬░mm.mmm'"));
  646.  </code>
  647.     </example>
  648. </member><member name="E:StormSource.Gps.UtmPosition.NorthingChanged(System.Object,StormSource.Gps.UtmPositionEventArgs)">
  649.     <summary>
  650.  Occurs when the <see cref="P:StormSource.Gps.UtmPosition.Northing">Northing</see>
  651.  property has changed.
  652.  </summary>
  653. </member><member name="E:StormSource.Gps.UtmPosition.EastingChanged(System.Object,StormSource.Gps.UtmPositionEventArgs)">
  654.     <summary>
  655.  Occurs when the <see cref="P:StormSource.Gps.UtmPosition.Easting">Easting</see> property
  656.  has changed.
  657.  </summary>
  658. </member><member name="E:StormSource.Gps.UtmPosition.ZoneChanged(System.Object,StormSource.Gps.UtmPositionEventArgs)">
  659.     <summary>
  660.  Occurs when the <see cref="P:StormSource.Gps.UtmPosition.Zone">Zone</see> property
  661.  has changed.
  662.  </summary>
  663. </member><member name="M:StormSource.Gps.UtmPosition.Clone">
  664.     <summary>Creates a mutable copy of the current instance.</summary>
  665.     <returns>
  666.  A new UtmPosition with the same values for Zone, Northing, Easting and Ellipsoid
  667.  properties.
  668.  </returns>
  669.     <remarks>
  670.  This method is typically used to make modifications to a position while
  671.  preserving it's original value. A clone of an immutable (read-only) object becomes
  672.  mutable (modifiable).
  673.  </remarks>
  674. </member><member name="M:StormSource.Gps.UtmPosition.Equals(StormSource.Gps.UtmZone,System.Double,System.Double)">
  675.     <overloads>Compares the equivalence of the current instance with the specified 
  676.  value.</overloads>
  677. </member><member name="T:StormSource.Gps.UtmPosition">
  678.     <summary>
  679.  Represents a position on Earth's surface as indicated by a zone, northing and
  680.  easting.
  681.  </summary>
  682.     <remarks>
  683.         <para>This class is designed to simplify the process of working with Universal
  684.      Transverse Mercator (or UTM for short) coordinates. UTM coordinates are an effort
  685.      to simplify navigation and formulas by turning Earth's flattened-sphere shape into
  686.      square grids. For example, consider the formula used to calculate distance between
  687.      two UTM coordinates versus between two latitude-longitude coordinates:</para>
  688.         <para>
  689.             <list type="table">
  690.                 <item>
  691.                     <term>Pythagorean Theorem (UTM)</term>
  692.                     <description>Haversine Formula (Lat/Long)</description>
  693.                 </item>
  694.                 <item>
  695.                     <term>c= Sqrt(a * a + b * b)</term>
  696.                     <description>c = 120 * arcsin(sqrt(sin^2((La2-La1)/2) + cos(L2) *
  697.                  cos(L1) * sin^2((Lo2-Lo1)/2)))</description>
  698.                 </item>
  699.             </list>
  700.         </para>
  701.         <para>
  702.             <para>As you can see, calculations based on flat grid are much simpler than
  703.          those made over spherical surfaces.</para>
  704.             <para><img src="BestPractice.jpg"/></para><para><strong>Avoid frequent
  705.          re-conversion between coordinate systems.</strong></para>
  706.             <para>During any coordinate conversion, some amount of accuracy, however small,
  707.          is lost. As a result, conversions to datums and conversions between lat/long to
  708.          UTM coordinates should be minimized. In addition, a country may be using a
  709.          particular coordinate system by default. Always try to use the country's native
  710.          coordinate system.</para>
  711.         </para>
  712.     </remarks>
  713. </member><member name="E:StormSource.Gps.DifferentialGps.LastUpdateChanged(System.Object,StormSource.Gps.DifferentialGpsEventArgs)">
  714.     <summary>Occurs when a ground stations reports updated GPS correction 
  715.  information.</summary>
  716. </member><member name="E:StormSource.Gps.DifferentialGps.DifferentialFixObtained(System.Object,StormSource.Gps.DifferentialGpsEventArgs)">
  717.     <summary>
  718.  Occurs when a fix using both satellites and ground stations has been
  719.  acquired.
  720.  </summary>
  721. </member><member name="E:StormSource.Gps.DifferentialGps.DifferentialFixLost(System.Object,StormSource.Gps.DifferentialGpsEventArgs)">
  722.     <summary>
  723.  Occurs when the active fix using both satellites and ground stations has been
  724.  lost.
  725.  </summary>
  726. </member><member name="P:StormSource.Gps.DifferentialGps.LastUpdateUtc">
  727.     <summary>
  728.  Returns the date/time (in UTC) when the last DGPS correction information was
  729.  received.
  730.  </summary>
  731.     <value>A <strong>DateTime</strong> object.</value>
  732.     <remarks>
  733.  This property is useful for determining when correction information was received
  734.  by a DGPS ground station. Note that the value is given in UTC and may have to be
  735.  converted to the local time zone using <strong>DateTime.ToLocalTime</strong>.
  736.  </remarks>
  737. </member><member name="P:StormSource.Gps.DifferentialGps.Age">
  738.     <summary>
  739.  Indicates the age (in seconds) since the last correction information was
  740.  received.
  741.  </summary>
  742.     <value>A <see cref="T:System.TimeSpan">TimeSpan</see> object.</value>
  743.     <remarks>
  744.         <para>This property returns the number of seconds elapsed since the DGPS correction
  745.      (to the current time). This property is most useful for determining the reliability
  746.      of correction information.</para>
  747.     </remarks>
  748.     <seealso cref="P:StormSource.Gps.DifferentialGps.LastUpdateUtc">LastUpdateUtc Property</seealso>
  749. </member><member name="P:StormSource.Gps.DifferentialGps.IsActive">
  750.     <summary>Indicates if a differential GPS fix is currently active.</summary>
  751.     <value>
  752.  A <strong>Boolean</strong> value. Returns <strong>True</strong> if DGPS
  753.  correction information is being used to calculate current positional
  754.  information.
  755.  </value>
  756.     <remarks>
  757.  This property is most useful for determining whether DGPS information in this
  758.  class is valid. If a DGPS fix is lost, the
  759.  <see cref="P:StormSource.Gps.DifferentialGps.LastUpdateUtc">LastUpdateUtc</see> and
  760.  <see cref="P:StormSource.Gps.DifferentialGps.Age">Age</see> properties are not cleared out.
  761.  </remarks>
  762. </member><member name="P:StormSource.Gps.DifferentialGps.StationId">
  763.     <summary>
  764.  Returns the unique identifier of a DGPS ground station involved in the current
  765.  fix.
  766.  </summary>
  767.     <value>An <strong>Integer</strong> value between 0 and 1,024.</value>
  768.     <remarks>
  769.         <para>Each DGPS ground station transmits a uniquely-identifying code, the same
  770.      way GPS satellite have their own unique ID's. This property is most useful as a
  771.      starting point to learn more information about a specific ground station.</para>
  772.     </remarks>
  773. </member><member name="T:StormSource.Gps.DifferentialGps">
  774.     <summary>
  775.  Represents extended information about a GPS fix if ground stations are
  776.  involved.
  777.  </summary>
  778.     <remarks>
  779.         <para>This class contains information about the DGPS ground station providing
  780.  correction information to the GPS device. It is only valid when a
  781.  <see cref="P:StormSource.Gps.Receiver.FixQuality">DGPS fix</see> is currently active. This class is read only and non-creatable.</para>
  782.         <para><img src="DGPS.jpg"/></para>
  783.     </remarks>
  784.     <seealso cref="P:StormSource.Gps.Receiver.FixQuality">FixQuality Property (Receiver)</seealso>
  785. </member><member name="F:StormSource.Gps.Distance.EarthsEquatorialRadiusWgs1984">
  786.     <summary>
  787.  Returns the distance from the center of the Earth to the equator according to the
  788.  WGS1984 ellipsoid.
  789.  </summary>
  790.     <remarks>
  791.  Several geodetic equations use both the equatorial and
  792.  <see cref="F:StormSource.Gps.Distance.EarthsPolarRadiusWgs1984">
  793.  polar radius</see> of the Earth to calculate things such as
  794.  <see cref="M:StormSource.Gps.Position.DistanceTo(StormSource.Gps.Position)">
  795.  distance</see>,
  796.  <see cref="M:StormSource.Gps.Position.InitialBearingTo(StormSource.Gps.Position)">
  797.  bearing</see>, and
  798.  <see cref="T:StormSource.Gps.MolodenskyTransform">
  799.  coordinate system conversions</see>.  This fields represents a distance of 6,378,137.0 meters.
  800.  </remarks>
  801.     <seealso cref="F:StormSource.Gps.Distance.EarthsPolarRadiusWgs1984">EarthsPolarRadiusWgs1984 
  802.  Field</seealso>
  803.     <seealso cref="F:StormSource.Gps.Distance.EarthsAverageRadius">EarthsAverageRadius Field</seealso>
  804. </member><member name="F:StormSource.Gps.Distance.EarthsPolarRadiusWgs1984">
  805.     <summary>
  806.  Returns the distance from the center of the Earth to a pole according to the
  807.  WGS1984 ellipsoid.
  808.  </summary>
  809.     <remarks>
  810.  Several geodetic equations use both the polar and
  811.  <see cref="F:StormSource.Gps.Distance.EarthsEquatorialRadiusWgs1984">
  812.  equatorial radius</see> of the Earth to calculate things such as
  813.  <see cref="M:StormSource.Gps.Position.DistanceTo(StormSource.Gps.Position)">
  814.  distance</see>,
  815.  <see cref="M:StormSource.Gps.Position.InitialBearingTo(StormSource.Gps.Position)">
  816.  bearing</see>, and
  817.  <see cref="T:StormSource.Gps.MolodenskyTransform">coordinate system conversions</see>.  This fields represents a value of 6,356,752.314245 meters.
  818.  </remarks>
  819.     <seealso cref="F:StormSource.Gps.Distance.EarthsEquatorialRadiusWgs1984">EarthsEquatorialRadiusWgs1984 Field</seealso>
  820.     <seealso cref="F:StormSource.Gps.Distance.EarthsAverageRadius">EarthsAverageRadius Field</seealso>
  821. </member><member name="F:StormSource.Gps.Distance.EarthsAverageRadius">
  822.     <summary>Returns the average radius of the Earth.</summary>
  823.     <remarks>
  824.  This field is provided for geodetic equations such as
  825.  <see cref="M:StormSource.Gps.Position.Translate(StormSource.Gps.Angle,StormSource.Gps.Distance)">
  826.  translating a position</see> by a certain distance and bearing. Since the Earth is not a
  827.  sphere but more of a flattened sphere (known as an "oblate spheroid"), this field is
  828.  used when a high level of accuracy can still be maintained.  This field is equal to 6,378,100 meters.
  829.  </remarks>
  830.     <seealso cref="F:StormSource.Gps.Distance.EarthsEquatorialRadiusWgs1984">EarthsEquatorialRadiusWgs1984 Field</seealso>
  831.     <seealso cref="F:StormSource.Gps.Distance.EarthsPolarRadiusWgs1984">EarthsPolarRadiusWgs1984 Field</seealso>
  832. </member><member name="P:StormSource.Gps.Distance.CurrentAltitude">
  833.     <summary>Returns the current altitude above sea level.</summary>
  834.     <value>
  835.  Read only. A <strong>Distance</strong> object returning the current
  836.  altitude.
  837.  </value>
  838.     <remarks>
  839.         <para>This shared property allows the current altitude above sea level to be
  840.      accessed without having to create an instance of a class. This property behaves the
  841.      same as the
  842.      
  843.  <see cref="P:StormSource.Gps.Receiver.Altitude">
  844.      Altitude</see> property of the
  845.      <see href="StormSource.Gps.Receiver">Receiver</see>
  846.      class.</para>
  847.         <para>Altitude can also be measured from the ellipsoid instead of sea level. The
  848.      diagram below shows how altitude above sea level is measured versus altitude above
  849.      the ellipsoid:</para>
  850.         <para>
  851.             <img src="AltitudeAboveWGS84.jpg"/>
  852.         </para>
  853.         <para>For more information about ellipsoids, see the
  854.      <see cref="T:StormSource.Gps.Ellipsoid">Ellipsoid</see>
  855.      class. For this property to function, an instance of the Receiver class must be
  856.      collecting data. This property is updated automatically as new information is
  857.      received from the GPS device.</para>
  858.     </remarks>
  859.     <seealso cref="P:StormSource.Gps.Receiver.Altitude">Altitude Property 
  860.  (Receiver)</seealso>
  861.     <seealso cref="P:StormSource.Gps.Distance.CurrentAltitudeAboveWgs1984">CurrentAltitudeAboveWgs1984 
  862.  Property</seealso>
  863.     <example>
  864.  This example demonstrates how the current altitude can be accessed using 
  865.  the Distance class.
  866.  <code lang="VB">
  867.  ' Output the current altitude above sea level in feet
  868.  Debug.WriteLine(Distance.CurrentAltitude.ToFeet.ToString())
  869.  </code>
  870.         <code lang="C#">
  871.  // Output the current altitude above sea level in feet
  872.  Debug.WriteLine(Distance.CurrentAltitude.ToFeet.ToString());
  873.  </code>
  874.     </example>
  875.     <seealso cref="P:StormSource.Gps.Distance.CurrentAltitude">CurrentAltitude Property</seealso>
  876. </member><member name="P:StormSource.Gps.Distance.CurrentAltitudeAboveWgs1984">
  877.     <summary>Returns the current height above the WGS1984 ellipsoid.</summary>
  878.     <value>Read only. A <strong>Distance</strong> object.</value>
  879.     <remarks>
  880.         <para>For most applications, the distance above sea level is the most common form
  881.  of altitude. For some specialized geodetic equations, however, the height above an
  882.  ellipsoid is preferable. The diagram below shows how altitude above sea level is
  883.  measured versus altitude above the ellipsoid:</para>
  884.         <para>
  885.             <img src="AltitudeAboveWGS84.jpg"/>
  886.         </para>
  887.         <para>For more information about ellipsoids, see the <see href="Ellipsoid">Ellipsoid</see>
  888.  class. For this property to function, an instance of the Receiver class must be
  889.  collecting data. This property is updated automatically as new information is
  890.  received from the GPS device.</para>
  891.     </remarks>
  892.     <example>
  893.  This example demonstrates how the current altitude can be accessed using 
  894.  the Distance class.
  895.  <code lang="VB">
  896.  ' Output the current altitude above sea level in feet
  897.  Debug.WriteLine(Distance.CurrentAltitudeAboveWgs1984.ToFeet.ToString())
  898.  </code>
  899.         <code lang="C#">
  900.  // Output the current altitude above sea level in feet
  901.  Debug.WriteLine(Distance.CurrentAltitudeAboveWgs1984.ToFeet.ToString());
  902.  </code>
  903.     </example>
  904.     <seealso cref="P:StormSource.Gps.Distance.CurrentAltitude">CurrentAltitude Property</seealso>
  905. </member><member name="E:StormSource.Gps.Distance.ValueChanged(System.Object,StormSource.Gps.DistanceEventArgs)">
  906.     <summary>Occurs when the <see cref="P:StormSource.Gps.Distance.Value">Value</see> property has changed.</summary>
  907.     <remarks>
  908.  This event is typically used to provide notification whenever a distance
  909.  measurement changes. For example, this could be used to be notified whenever the
  910.  current altitude above sea level changes.
  911.  </remarks>
  912.     <example>
  913.  This example demonstrates one way to be notified when the current altitude changes.
  914.  <code lang="VB">
  915.  Private MyReceiver As New Receiver()
  916.  Private WithEvents Altitude As Distance = MyReceiver.Altitude
  917.   
  918.  ' Occurs when the value property of a distance object changes
  919.  Private Sub OnAltitudeChanged(ByVal sender As Object, ByVal e As DistanceEventArgs) Handles Altitude.ValueChanged
  920.      Debug.WriteLine("The current altitude has changed to " & e.Distance.ToFeet.ToString)
  921.  End Sub
  922.  </code>
  923.         <code lang="C#">
  924.  Receiver MyReceiver();
  925.  Distance Altitude = MyReceiver.Altitude;
  926.   
  927.  // Occurs when the value property of a distance object changes
  928.  void OnAltitudeChanged(Object sender, DistanceEventArgs e)
  929.  {
  930.      Debug.WriteLine("The current altitude has changed to " + e.Distance.ToFeet().ToString());
  931.  }
  932.  </code>
  933.     </example>
  934.     <seealso cref="E:StormSource.Gps.Distance.UnitsChanged(System.Object,StormSource.Gps.DistanceEventArgs)">UnitsChanged Event</seealso>
  935. </member><member name="E:StormSource.Gps.Distance.UnitsChanged(System.Object,StormSource.Gps.DistanceEventArgs)">
  936.     <summary>Occurs when the Units property has changed.</summary>
  937.     <remarks>
  938.         <para>This event is typically by applications to adjust information as a result of
  939.      the Units property changing. High-precision applications also use this event to
  940.      throw an exception if the unit type of a measurement must always stay the same (but
  941.      does not).</para>
  942.         <para><img src="BestPractice.jpg"/></para><para><strong>Use conversion methods instead of setting the
  943.  Units property</strong></para>
  944.         <para>When the Units property is changed, no conversion is performed on the
  945.  Value property. This could lead to mathematical errors which are difficult to debug. Use
  946.  conversion methods such as ToFeet or ToMeters instead.</para>
  947.         <para>
  948.  This example demonstrates poor programming when trying to add 100 feet to 100 meters
  949.  by changing the Units property of the Distance2 object.
  950.  <code lang="VB">
  951.  ' Declare two distances
  952.  Dim Distance1 As New Distance(50, DistanceUnit.Meters)
  953.  Dim Distance2 As New Distance(100, DistanceUnit.Feet)
  954.  ' Store their sum in another variable
  955.  Dim Distance3 As New Distance(0, DistanceUnit.Meters)
  956.  ' INCORRECT: Changing Units property does not convert Distance2!
  957.  Distance2.Units = DistanceUnit.Meters
  958.  Distance3.Value = Distance1.Value + Distance2.Value
  959.  </code>
  960.             <code lang="C#">
  961.  // Declare two distances
  962.  Distance Distance1 = new Distance(50, DistanceUnit.Meters);
  963.  Distance Distance2 = new Distance(100, DistanceUnit.Feet);
  964.  // Store their sum in another variable
  965.  Distance Distance3 = new Distance(0, DistanceUnit.Meters);
  966.  // INCORRECT: Changing Units property does not convert Distance2!
  967.  Distance2.Units = DistanceUnit.Meters;
  968.  Distance3.Value = Distance1.Value + Distance2.Value;
  969.  </code>
  970.  The correct technique is to use a conversion method to change the unit type instead
  971.  of modifying the Units property.
  972.  <code lang="VB">
  973.  ' Declare two distances
  974.  Dim Distance1 As New Distance(50, DistanceUnit.Meters)
  975.  Dim Distance2 As New Distance(100, DistanceUnit.Feet)
  976.  ' Store their sum in another variable
  977.  Dim Distance3 As New Distance(0, DistanceUnit.Meters)
  978.  ' CORRECT: The ToMeters method is used to standardize unit types
  979.  Distance3.Value = Distance1.ToMeters.Value + Distance2.ToMeters.Value
  980.  </code>
  981.             <code lang="C#">
  982.  // Declare two distances
  983.  Distance Distance1 = new Distance(50, DistanceUnit.Meters);
  984.  Distance Distance2 = new Distance(100, DistanceUnit.Feet);
  985.  // Store their sum in another variable
  986.  Distance Distance3 = new Distance(0, DistanceUnit.Meters);
  987.  // CORRECT: The ToMeters method is used to standardize unit types
  988.  Distance3.Value = Distance1.ToMeters.Value + Distance2.ToMeters.Value;
  989.  </code>
  990.         </para>
  991.     </remarks>
  992.     <example>
  993.  This example demonstrates one way to be notified when the current altitude changes.
  994.  <code lang="VB">
  995.  Private MyReceiver As New Receiver()
  996.  Private WithEvents Altitude As Distance = MyReceiver.Altitude
  997.   
  998.  ' Occurs when the value property of a distance object changes
  999.  Private Sub OnAltitudeChanged(ByVal sender As Object, ByVal e As DistanceEventArgs) Handles Altitude.UnitsChanged
  1000.      Debug.WriteLine("The current altitude has changed to " & e.Distance.ToFeet.ToString)
  1001.  End Sub
  1002.  </code>
  1003.         <code lang="C#">
  1004.  Receiver MyReceiver();
  1005.  Distance Altitude = MyReceiver.Altitude;
  1006.   
  1007.  // Occurs when the value property of a distance object changes
  1008.  void OnAltitudeChanged(Object sender, DistanceEventArgs e)
  1009.  {
  1010.      Debug.WriteLine("The current altitude's units have changed to " + e.Distance.ToFeet().ToString());
  1011.  }
  1012.  </code>
  1013.     </example>
  1014.     <seealso cref="E:StormSource.Gps.Distance.ValueChanged(System.Object,StormSource.Gps.DistanceEventArgs)">ValueChanged Event</seealso>
  1015. </member><member name="M:StormSource.Gps.Distance.#ctor">
  1016.     <summary>Creates a new instance with a default value of 0 meters.</summary>
  1017.     <example>
  1018.  This example uses a constructor to create a new distance of zero meters.
  1019.  <code lang="VB">
  1020.  Dim MyDistance As New Distance()
  1021.  </code>
  1022.         <code lang="C#">
  1023.  Distance MyDistance = new Distance();
  1024.  </code>
  1025.     </example>
  1026. </member><member name="M:StormSource.Gps.Distance.#ctor(System.Double,StormSource.Gps.DistanceUnit)">
  1027.     <summary>Creates a new instance using the specified value and unit type.</summary>
  1028.     <example>
  1029.  This example uses a constructor to create a new distance of 50km.
  1030.  <code lang="VB">
  1031.  Dim MyDistance As New Distance(50, DistanceUnit.Kilometers)
  1032.  </code>
  1033.         <code lang="C#">
  1034.  Distance MyDistance = new Distance(50, DistanceUnit.Kilometers);
  1035.  </code>
  1036.     </example>
  1037. </member><member name="M:StormSource.Gps.Distance.#ctor(System.Double,StormSource.Gps.DistanceUnit,System.Boolean)">
  1038.     <summary>Creates a new, immutable instance using the specified value and unit type.</summary>
  1039.     <remarks>An object is considered immutable if it's properties cannot be modified once it is created.</remarks>
  1040.     <example>
  1041.  This example creates an immutable (read-only) distance measurements
  1042.  <code lang="VB">
  1043.  Public Shared ReadOnly MySharedMember(175, DistanceUnit.Feet, True)
  1044.  </code>
  1045.         <code lang="C#">
  1046.  public static readonly MySharedMember(175, DistanceUnit.Feet, true);
  1047.  </code>
  1048.     </example>
  1049. </member><member name="M:StormSource.Gps.Distance.#ctor(System.String)">
  1050.     <summary>Creates a new instance from the the specified string.</summary>
  1051.     <param name="value">
  1052.         <para>A <strong>String</strong> in any format accepted by the
  1053.      <see cref="M:StormSource.Gps.Distance.Parse(System.String)">Parse</see>
  1054.      method.</para>
  1055.     </param>
  1056.     <remarks>
  1057.  This powerful constructor is typically used to initialize an instance with a
  1058.  string-based distance measurement, such as one entered by a user or read from a file.
  1059.  This constructor can accept any output created via the
  1060.  <see cref="M:StormSource.Gps.Distance.ToString">ToString</see> method.
  1061.  </remarks>
  1062.     <exception cref="T:System.ArgumentNullException" caption="ArgumentNullException">Parse method requires a valid distance measurement.</exception>
  1063.     <exception cref="T:System.FormatException" caption="FormatException">1. The numeric portion of the distance measurement was not recognized.<br/>
  1064.  2. The distance unit type was not recognized or not specified.</exception>
  1065.     <example>
  1066.  This example demonstrates how the to use this constructor.
  1067.  <code lang="VB">
  1068.  Dim MyDistance As Distance
  1069.  ' Create a distance of 50 kilometers
  1070.  MyDistance = New Distance("50 km")
  1071.  ' Create a distance of 14,387 miles, then convert it into inches
  1072.  MyDistance = New Distance("14,387 statute miles").ToInches
  1073.  ' Parse an untrimmed measurement into 50 feet
  1074.  MyDistance = New Distance("    50 '       ")
  1075.  </code>
  1076.         <code lang="C#">
  1077.  Distance MyDistance;
  1078.  // Create a distance of 50 kilometers
  1079.  MyDistance = new Distance("50 km");
  1080.  // Create a distance of 14,387 miles, then convert it into inches
  1081.  MyDistance = new Distance("14,387 statute miles").ToInches;
  1082.  // Parse an untrimmed measurement into 50 feet
  1083.  MyDistance = new Distance("    50 '       ");
  1084.  </code>
  1085.     </example>
  1086. </member><member name="M:StormSource.Gps.Distance.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  1087.     <summary>
  1088.  Creates an instance using deserialized distance information.
  1089.  </summary>
  1090.     <param name="info"></param>
  1091.     <param name="context"></param>
  1092. </member><member name="M:StormSource.Gps.Distance.Equals(StormSource.Gps.Distance)">
  1093.     <summary>
  1094.  Compares the current instance to the specified distance object.
  1095.  </summary>
  1096.     <param name="value">A <strong>Distance</strong> object to compare with.</param>
  1097.     <returns>A <strong>Boolean</strong>, True if the values are equivalent.</returns>
  1098.     <remarks>This method compares the current instance to the specified object up to four digits of precision.</remarks>
  1099. </member><member name="M:StormSource.Gps.Distance.Equals(StormSource.Gps.Distance,System.Int32)">
  1100.     <summary>
  1101.  Compares the current instance to the specified value, distance units, and precision.
  1102.  </summary>
  1103.     <param name="value">A <strong>Distance</strong> object to compare with.</param>
  1104.     <param name="precision">An <strong>Integer</strong> specifying the number of digits to compare with.</param>
  1105.     <returns>A <strong>Boolean</strong>, True if the values are equivalent.</returns>
  1106.     <remarks>This method compares the current instance to the specified object at up to the specified number of digits of precision.</remarks>
  1107. </member><member name="M:StormSource.Gps.Distance.Equals(System.Double,StormSource.Gps.DistanceUnit)">
  1108.     <summary>
  1109.  Compares the current instance to the specified value and distance units.
  1110.  </summary>
  1111.     <param name="value">A <strong>Double</strong> containing a value to compare.</param>
  1112.     <param name="units">A value from the <strong>DistanceUnit</strong> enumeration.</param>
  1113.     <returns>A <strong>Boolean</strong>, True if the values are equivalent.</returns>
  1114.     <remarks>This method compares the current instance to the specified value at up to four digits of precision.</remarks>
  1115. </member><member name="M:StormSource.Gps.Distance.Equals(System.Double,StormSource.Gps.DistanceUnit,System.Int32)">
  1116.     <summary>
  1117.  Compares the current instance to the specified value, distance units, and precision.
  1118.  </summary>
  1119.     <param name="value">A <strong>Double</strong> containing a value to compare.</param>
  1120.     <param name="units">A value from the <strong>DistanceUnit</strong> enumeration.</param>
  1121.     <returns>A <strong>Boolean</strong>, True if the values are equivalent.</returns>
  1122.     <remarks>This method compares the current instance to the specified value at up to the specified number of digits of precision.</remarks>
  1123. </member><member name="M:StormSource.Gps.Distance.Equals(System.Object)">
  1124.     <summary>
  1125.  Compares the current instance to the specified object.
  1126.  </summary>
  1127.     <param name="value">An <strong>Object</strong> to compare with.</param>
  1128.     <returns>A <strong>Boolean</strong>, True if the values are equivalent.</returns>
  1129. </member><member name="P:StormSource.Gps.Distance.Units">
  1130.     <summary>Describes the unit portion of a distance measurement.</summary>
  1131.     <value>
  1132.  A value from the <see cref="T:StormSource.Gps.DistanceUnit">DistanceUnit</see> enumeration. Default 
  1133.  is <strong>DistanceUnit.Meters</strong>.
  1134.  </value>
  1135.     <remarks>
  1136.         <para>Each distance measurement is comprised of a numeric <see cref="P:StormSource.Gps.Distance.Value">value</see>
  1137.  and a unit type.  This property describes the numeric value so that it may be
  1138.  explicitly identified. An instance of the <strong>Distance</strong> class may have a value 
  1139.  of zero, but it is impossible to have an unspecified unit type.</para>
  1140.         <para>Changing this property, either directly or indirectly via a conversion method, 
  1141.  causes the <see cref="E:StormSource.Gps.Distance.UnitsChanged(System.Object,StormSource.Gps.DistanceEventArgs)">UnitsChanged</see> event to be raised.</para>
  1142.         <para><img src="BestPractice.jpg"/></para><para><strong>Use conversion methods instead of setting the
  1143.  Units property</strong></para>
  1144.         <para>When the Units property is changed, no conversion is performed on the
  1145.  Value property. This could lead to mathematical errors which are difficult to debug. Use
  1146.  conversion methods such as ToFeet or ToMeters instead.</para>
  1147.         <para>
  1148.  This example demonstrates poor programming when trying to add 100 feet to 100 meters
  1149.  by changing the Units property of the Distance2 object.
  1150.  <code lang="VB">
  1151.  ' Declare two distances
  1152.  Dim Distance1 As New Distance(50, DistanceUnit.Meters)
  1153.  Dim Distance2 As New Distance(100, DistanceUnit.Feet)
  1154.  ' Store their sum in another variable
  1155.  Dim Distance3 As New Distance(0, DistanceUnit.Meters)
  1156.  ' INCORRECT: Changing Units property does not convert Distance2!
  1157.  Distance2.Units = DistanceUnit.Meters
  1158.  Distance3.Value = Distance1.Value + Distance2.Value
  1159.  </code>
  1160.             <code lang="C#">
  1161.  // Declare two distances
  1162.  Distance Distance1 = new Distance(50, DistanceUnit.Meters);
  1163.  Distance Distance2 = new Distance(100, DistanceUnit.Feet);
  1164.  // Store their sum in another variable
  1165.  Distance Distance3 = new Distance(0, DistanceUnit.Meters);
  1166.  // INCORRECT: Changing Units property does not convert Distance2!
  1167.  Distance2.Units = DistanceUnit.Meters;
  1168.  Distance3.Value = Distance1.Value + Distance2.Value;
  1169.  </code>
  1170.  The correct technique is to use a conversion method to change the unit type instead
  1171.  of modifying the Units property.
  1172.  <code lang="VB">
  1173.  ' Declare two distances
  1174.  Dim Distance1 As New Distance(50, DistanceUnit.Meters)
  1175.  Dim Distance2 As New Distance(100, DistanceUnit.Feet)
  1176.  ' Store their sum in another variable
  1177.  Dim Distance3 As New Distance(0, DistanceUnit.Meters)
  1178.  ' CORRECT: The ToMeters method is used to standardize unit types
  1179.  Distance3.Value = Distance1.ToMeters.Value + Distance2.ToMeters.Value
  1180.  </code>
  1181.             <code lang="C#">
  1182.  // Declare two distances
  1183.  Distance Distance1 = new Distance(50, DistanceUnit.Meters);
  1184.  Distance Distance2 = new Distance(100, DistanceUnit.Feet);
  1185.  // Store their sum in another variable
  1186.  Distance Distance3 = new Distance(0, DistanceUnit.Meters);
  1187.  // CORRECT: The ToMeters method is used to standardize unit types
  1188.  Distance3.Value = Distance1.ToMeters.Value + Distance2.ToMeters.Value;
  1189.  </code>
  1190.         </para>
  1191.     </remarks>
  1192.     <seealso cref="E:StormSource.Gps.Distance.UnitsChanged(System.Object,StormSource.Gps.DistanceEventArgs)">UnitsChanged Event</seealso>
  1193.     <seealso cref="P:StormSource.Gps.Distance.Value">Value Property</seealso>
  1194. </member><member name="M:StormSource.Gps.Distance.Clone">
  1195.     <summary>Creates a mutable copy of another distance object.</summary>
  1196.     <remarks>This method is used to easily create a copy of a Distance object without
  1197.  having to set the <see cref="P:StormSource.Gps.Distance.Value">Value</see> and <see cref="P:StormSource.Gps.Distance.Units">Units</see> properties 
  1198.  individually.  The cloned instance is modifiable (mutable) even if the original instance is 
  1199.  immutable.</remarks>
  1200.     <returns>A Distance object with the same Value and Units properties as the original instance.</returns>
  1201.     <example>
  1202.  This example uses the Clone method to copy a Distance object.  Changes are then made, and
  1203.  the Clone method is used again to commit changes.
  1204.  <code lang="VB">
  1205.  ' Define a distance of 50km
  1206.  Dim OriginalDistance As New Distance(50, DistanceUnit.Kilometers)
  1207.  ' Create a copy of the distance
  1208.  Dim ClonedDistance As Distance = OriginalDistance.Clone
  1209.  ' Modify the copy
  1210.  ClonedDistance.Value = 45.75
  1211.  ' And use the clone method to commit changes to the original instance
  1212.  OriginalDistance = ClonedDistance.Clone
  1213.  </code>
  1214.         <code lang="C#">
  1215.  // Define a distance of 50km
  1216.  Distance OriginalDistance = new Distance(50, DistanceUnit.Kilometers);
  1217.  // Create a copy of the distance
  1218.  Distance ClonedDistance = OriginalDistance.Clone;
  1219.  // Modify the copy
  1220.  ClonedDistance.Value = 45.75;
  1221.  // And use the clone method to commit changes to the original instance
  1222.  OriginalDistance = ClonedDistance.Clone;
  1223.  </code>
  1224.     </example>
  1225. </member><member name="P:StormSource.Gps.Distance.IsImmutable">
  1226.     <summary>Indicates if an angle's properties may be modified.</summary>
  1227.     <returns>An object is considered immutable if it's value(s) cannot be changed.  This is set to 
  1228.  True for any shared fields in this class.</returns>
  1229.     <remarks>
  1230.  An object is considered "immutable" if it's properties cannot be modified in any
  1231.  way. This property is set when using using the New(Double, DistanceUnit, Boolean) constructor.
  1232.  </remarks>
  1233.     <example>
  1234.  This example can test to see if a Distance object is immutable before attempting to 
  1235.  modify its properties.
  1236.  <code lang="VB">
  1237.  ' Create a new immutable distance of 50m
  1238.  Public Shared ReadOnly MyDistance As New Distance(50, DistanceUnit.Meters, True)
  1239.  ' Can this object be modified?
  1240.  If MyDistance.IsImmutable Then
  1241.      ' No. Do not modify the object or an exception will be thrown
  1242.  Else
  1243.      ' This code will not execute
  1244.  End If
  1245.  </code>
  1246.         <code lang="C#">
  1247.  // Create a new immutable distance of 50m
  1248.  public static readonly Distance MyDistance = new Distance(50, DistanceUnit.Meters, true);
  1249.  // Can this object be modified?
  1250.  if (MyDistance.IsImmutable)
  1251.  {
  1252.      // No. Do not modify the object or an exception will be thrown
  1253.  }
  1254.  else
  1255.  {
  1256.      // This code will not execute
  1257.  }
  1258.  </code>
  1259.     </example>
  1260. </member><member name="P:StormSource.Gps.Distance.Value">
  1261.     <summary>Returns the numeric portion of a distance measurement.</summary>
  1262.     <value>A <strong>Double</strong> value.</value>
  1263.     <remarks>
  1264.  This property is paired with the <see cref="P:StormSource.Gps.Distance.Units">Units</see> property to form a complete distance
  1265.  measurement.  When this property changes, the <see cref="E:StormSource.Gps.Distance.ValueChanged(System.Object,StormSource.Gps.DistanceEventArgs)">ValueChanged</see>
  1266.  event is raised.  
  1267.  </remarks>
  1268.     <example>
  1269.  This example demonstrates how to use the Value property to modify a distance object.  The object 
  1270.  is then converted to kilometers.
  1271.  <code lang="VB">
  1272.  ' Declare a distance of 0 mi.
  1273.  Dim MyDistance As New Distance(0, DistanceUnit.StatuteMiles)
  1274.  ' Change the distance to 100 mi.
  1275.  MyDistance.Value = 100
  1276.  ' Change the distance to 12.3456 mi.
  1277.  MyDistance.Value = 12.3456
  1278.  ' Convert the measurement into kilometers
  1279.  MyDistance = MyDistance.ToKilometers
  1280.  </code>
  1281.         <code lang="C#">
  1282.  // Declare a distance of 0 mi.
  1283.  Distance MyDistance = new Distance(0, DistanceUnit.StatuteMiles);
  1284.  // Change the distance to 100 mi.
  1285.  MyDistance.Value = 100;
  1286.  // Change the distance to 12.3456 mi.
  1287.  MyDistance.Value = 12.3456;
  1288.  // Convert the measurement into kilometers
  1289.  MyDistance = MyDistance.ToKilometers;
  1290.  </code>
  1291.     </example>
  1292.     <seealso cref="E:StormSource.Gps.Distance.ValueChanged(System.Object,StormSource.Gps.DistanceEventArgs)">ValueChanged Event</seealso>
  1293.     <seealso cref="P:StormSource.Gps.Distance.Units">Units Property</seealso>
  1294. </member><member name="M:StormSource.Gps.Distance.Parse(System.String)">
  1295.     <summary>Converts a string-based distance measurement into a Distance object.</summary>
  1296.     <remarks>
  1297.  This powerful constructor is typically used to convert a string-based distance
  1298.  measurement, such as one entered by a user or read from a file, into a
  1299.  <strong>Distance</strong> object. This method will accept any output created via the
  1300.  <see cref="M:StormSource.Gps.Distance.ToString">ToString</see> method.
  1301.  </remarks>
  1302.     <param name="value">
  1303.         <para>A <strong>String</strong> describing a case-insensitive distance measurement,
  1304.      in any of the following formats, where <strong>N</strong> represents a numeric
  1305.      value:</para>
  1306.         <list type="bullet">
  1307.             <item>N m</item>
  1308.             <item>N meters</item>
  1309.             <item>N meter</item>
  1310.             <item>N metre</item>
  1311.             <item>N metres</item>
  1312.             <item>N km</item>
  1313.             <item>N kilometers</item>
  1314.             <item>N kilometer</item>
  1315.             <item>N kilometre</item>
  1316.             <item>N kilometres</item>
  1317.             <item>N ft</item>
  1318.             <item>N'</item>
  1319.             <item>N foot</item>
  1320.             <item>N feet</item>
  1321.             <item>N in</item>
  1322.             <item>N"</item>
  1323.             <item>N inch</item>
  1324.             <item>N inches</item>
  1325.             <item>N mi</item>
  1326.             <item>N mile</item>
  1327.             <item>N miles</item>
  1328.             <item>N nm</item>
  1329.             <item>N nautical mile</item>
  1330.             <item>N nautical miles</item>
  1331.         </list>
  1332.     </param>
  1333.     <returns>
  1334.  A new Distance object containing the parsed <see cref="P:StormSource.Gps.Distance.Value">value</see> and
  1335.  <see cref="P:StormSource.Gps.Distance.Units">unit</see> type.
  1336.  </returns>
  1337.     <exception cref="T:System.ArgumentNullException" caption="ArgumentNullException">Parse method requires a valid distance measurement.</exception>
  1338.     <exception cref="T:System.FormatException" caption="FormatException">1. The numeric portion of the distance measurement was not recognized.<br/>
  1339.  2. The distance unit type was not recognized or not specified.</exception>
  1340.     <example>
  1341.  This example demonstrates how the Parse method can convert several string formats into a Distance object.
  1342.  <code lang="VB">
  1343.  Dim NewDistance As Distance
  1344.  ' Create a distance of 50 kilometers
  1345.  NewDistance = Distance.Parse("50 km")
  1346.  ' Create a distance of 14,387 miles, then convert it into inches
  1347.  NewDistance = Distance.Parse("14,387 statute miles").ToInches
  1348.  ' Parse an untrimmed measurement into 50 feet
  1349.  NewDistance = Distance.Parse("    50 '       ")
  1350.  </code>
  1351.         <code lang="C#">
  1352.  Distance NewDistance;
  1353.  // Create a distance of 50 kilometers
  1354.  NewDistance = Distance.Parse("50 km");
  1355.  // Create a distance of 14,387 miles, then convert it into inches
  1356.  NewDistance = Distance.Parse("14,387 statute miles").ToInches;
  1357.  // Parse an untrimmed measurement into 50 feet
  1358.  NewDistance = Distance.Parse("    50 '       ");
  1359.  </code>
  1360.     </example>
  1361. </member><member name="M:StormSource.Gps.Distance.ToFeet">
  1362.     <summary>Converts the current measurement into feet.</summary>
  1363.     <returns>A new <strong>Distance</strong> object containing the converted 
  1364.  value.</returns>
  1365.     <remarks>
  1366.  This method will perform a conversion into feet regardless of the current unit
  1367.  type. You may convert from any unit type to any unit type.
  1368.  </remarks>
  1369.     <seealso cref="M:StormSource.Gps.Distance.ToInches">ToInches Method</seealso>
  1370.     <seealso cref="M:StormSource.Gps.Distance.ToKilometers">ToKilometers Method</seealso>
  1371.     <seealso cref="M:StormSource.Gps.Distance.ToMeters">ToMeters Method</seealso>
  1372.     <seealso cref="M:StormSource.Gps.Distance.ToNauticalMiles">ToNauticalMiles Method</seealso>
  1373.     <seealso cref="M:StormSource.Gps.Distance.ToStatuteMiles">ToStatuteMiles Method</seealso>
  1374.     <example>
  1375.  This example converts various distances into feet.  Note that the ToFeet method converts distances
  1376.  from any source type.
  1377.  <code lang="VB">
  1378.  ' Create distances of different unit types
  1379.  Dim Distance1 As New Distance(10, DistanceUnit.Inches)
  1380.  Dim Distance2 As New Distance(20, DistanceUnit.StatuteMiles)
  1381.  Dim Distance3 As New Distance(50, DistanceUnit.Kilometers)
  1382.  ' Convert the distance measurements to feet and output the result 
  1383.  Debug.WriteLine(Distance1.ToFeet.ToString)
  1384.  Debug.WriteLine(Distance2.ToFeet.ToString)
  1385.  Debug.WriteLine(Distance3.ToFeet.ToString)
  1386.  </code>
  1387.         <code lang="C#">
  1388.  // Create distances of different unit types
  1389.  Distance Distance1 = new Distance(10, DistanceUnit.Inches);
  1390.  Distance Distance2 = new Distance(20, DistanceUnit.StatuteMiles);
  1391.  Distance Distance3 = new Distance(50, DistanceUnit.Kilometers);
  1392.  // Convert the distance measurements to feet and output the result 
  1393.  Debug.WriteLine(Distance1.ToFeet().ToString());
  1394.  Debug.WriteLine(Distance2.ToFeet().ToString());
  1395.  Debug.WriteLine(Distance3.ToFeet().ToString());
  1396.  </code>
  1397.     </example>
  1398. </member><member name="M:StormSource.Gps.Distance.ToInches">
  1399.     <summary>Converts the current measurement into inches.</summary>
  1400.     <returns>A new <strong>Distance</strong> object containing the converted 
  1401.  value.</returns>
  1402.     <remarks>
  1403.  This method will perform a conversion into feet regardless of the current unit
  1404.  type. You may convert from any unit type to any unit type.
  1405.  </remarks>
  1406.     <example>
  1407.  This example converts various distances into inches.  Note that the ToInches method converts distances
  1408.  from any source type.
  1409.  <code lang="VB">
  1410.  ' Create distances of different unit types
  1411.  Dim Distance1 As New Distance(10, DistanceUnit.Feet)
  1412.  Dim Distance2 As New Distance(20, DistanceUnit.StatuteMiles)
  1413.  Dim Distance3 As New Distance(50, DistanceUnit.Kilometers)
  1414.  ' Convert the distance measurements to feet and output the result 
  1415.  Debug.WriteLine(Distance1.ToInches.ToString)
  1416.  Debug.WriteLine(Distance2.ToInches.ToString)
  1417.  Debug.WriteLine(Distance3.ToInches.ToString)
  1418.  </code>
  1419.         <code lang="C#">
  1420.  // Create distances of different unit types
  1421.  Distance Distance1 = new Distance(10, DistanceUnit.Feet);
  1422.  Distance Distance2 = new Distance(20, DistanceUnit.StatuteMiles);
  1423.  Distance Distance3 = new Distance(50, DistanceUnit.Kilometers);
  1424.  // Convert the distance measurements to feet and output the result 
  1425.  Debug.WriteLine(Distance1.ToInches().ToString());
  1426.  Debug.WriteLine(Distance2.ToInches().ToString());
  1427.  Debug.WriteLine(Distance3.ToInches().ToString());
  1428.  </code>
  1429.     </example>
  1430.     <seealso cref="M:StormSource.Gps.Distance.ToFeet">ToFeet Method</seealso>
  1431.     <seealso cref="M:StormSource.Gps.Distance.ToKilometers">ToKilometers Method</seealso>
  1432.     <seealso cref="M:StormSource.Gps.Distance.ToMeters">ToMeters Method</seealso>
  1433.     <seealso cref="M:StormSource.Gps.Distance.ToNauticalMiles">ToNauticalMiles Method</seealso>
  1434.     <seealso cref="M:StormSource.Gps.Distance.ToStatuteMiles">ToStatuteMiles Method</seealso>
  1435. </member><member name="M:StormSource.Gps.Distance.ToKilometers">
  1436.     <returns>A new <strong>Distance</strong> object containing the converted 
  1437.  value.</returns>
  1438.     <remarks>
  1439.  This method will perform a conversion into feet regardless of the current unit
  1440.  type. You may convert from any unit type to any unit type.
  1441.  </remarks>
  1442.     <summary>Converts the current measurement into kilometers.</summary>
  1443.     <example>
  1444.  This example converts various distances into kilometers.  Note that the ToKilometers method converts 
  1445.  distances from any source type.
  1446.  <code lang="VB">
  1447.  ' Create distances of different unit types
  1448.  Dim Distance1 As New Distance(10, DistanceUnit.Feet)
  1449.  Dim Distance2 As New Distance(20, DistanceUnit.StatuteMiles)
  1450.  Dim Distance3 As New Distance(50, DistanceUnit.Inches)
  1451.  ' Convert the distance measurements to feet and output the result 
  1452.  Debug.WriteLine(Distance1.ToKilometers.ToString)
  1453.  Debug.WriteLine(Distance2.ToKilometers.ToString)
  1454.  Debug.WriteLine(Distance3.ToKilometers.ToString)
  1455.  </code>
  1456.         <code lang="C#">
  1457.  // Create distances of different unit types
  1458.  Distance Distance1 = new Distance(10, DistanceUnit.Feet);
  1459.  Distance Distance2 = new Distance(20, DistanceUnit.StatuteMiles);
  1460.  Distance Distance3 = new Distance(50, DistanceUnit.Inches);
  1461.  // Convert the distance measurements to feet and output the result 
  1462.  Debug.WriteLine(Distance1.ToKilometers().ToString());
  1463.  Debug.WriteLine(Distance2.ToKilometers().ToString());
  1464.  Debug.WriteLine(Distance3.ToKilometers().ToString());
  1465.  </code>
  1466.     </example>
  1467.     <seealso cref="M:StormSource.Gps.Distance.ToFeet">ToFeet Method</seealso>
  1468.     <seealso cref="M:StormSource.Gps.Distance.ToInches">ToInches Method</seealso>
  1469.     <seealso cref="M:StormSource.Gps.Distance.ToMeters">ToMeters Method</seealso>
  1470.     <seealso cref="M:StormSource.Gps.Distance.ToNauticalMiles">ToNauticalMiles Method</seealso>
  1471.     <seealso cref="M:StormSource.Gps.Distance.ToStatuteMiles">ToStatuteMiles Method</seealso>
  1472. </member><member name="M:StormSource.Gps.Distance.ToMeters">
  1473.     <returns>A new <strong>Distance</strong> object containing the converted 
  1474.  value.</returns>
  1475.     <remarks>
  1476.  This method will perform a conversion into feet regardless of the current unit
  1477.  type. You may convert from any unit type to any unit type.
  1478.  </remarks>
  1479.     <summary>Converts the current measurement into meters.</summary>
  1480.     <example>
  1481.  This example converts various distances into meters.  Note that the ToMeters method converts distances
  1482.  from any source type.
  1483.  <code lang="VB">
  1484.  ' Create distances of different unit types
  1485.  Dim Distance1 As New Distance(10, DistanceUnit.Feet)
  1486.  Dim Distance2 As New Distance(20, DistanceUnit.StatuteMiles)
  1487.  Dim Distance3 As New Distance(50, DistanceUnit.Inches)
  1488.  ' Convert the distance measurements to feet and output the result 
  1489.  Debug.WriteLine(Distance1.ToMeters.ToString)
  1490.  Debug.WriteLine(Distance2.ToMeters.ToString)
  1491.  Debug.WriteLine(Distance3.ToMeters.ToString)
  1492.  </code>
  1493.         <code lang="C#">
  1494.  // Create distances of different unit types
  1495.  Distance Distance1 = new Distance(10, DistanceUnit.Feet);
  1496.  Distance Distance2 = new Distance(20, DistanceUnit.StatuteMiles);
  1497.  Distance Distance3 = new Distance(50, DistanceUnit.Inches);
  1498.  // Convert the distance measurements to feet and output the result 
  1499.  Debug.WriteLine(Distance1.ToMeters().ToString());
  1500.  Debug.WriteLine(Distance2.ToMeters().ToString());
  1501.  Debug.WriteLine(Distance3.ToMeters().ToString());
  1502.  </code>
  1503.     </example>
  1504.     <seealso cref="M:StormSource.Gps.Distance.ToFeet">ToFeet Method</seealso>
  1505.     <seealso cref="M:StormSource.Gps.Distance.ToInches">ToInches Method</seealso>
  1506.     <seealso cref="M:StormSource.Gps.Distance.ToKilometers">ToKilometers Method</seealso>
  1507.     <seealso cref="M:StormSource.Gps.Distance.ToNauticalMiles">ToNauticalMiles Method</seealso>
  1508.     <seealso cref="M:StormSource.Gps.Distance.ToStatuteMiles">ToStatuteMiles Method</seealso>
  1509. </member><member name="M:StormSource.Gps.Distance.ToNauticalMiles">
  1510.     <returns>A new <strong>Distance</strong> object containing the converted 
  1511.  value.</returns>
  1512.     <remarks>
  1513.  This method will perform a conversion into feet regardless of the current unit
  1514.  type. You may convert from any unit type to any unit type.
  1515.  </remarks>
  1516.     <summary>Converts the current measurement into nautical miles.</summary>
  1517.     <example>
  1518.  This example converts various distances into nautical miles.  Note that the ToNauticalMiles method 
  1519.  converts distances from any source type.
  1520.  <code lang="VB">
  1521.  ' Create distances of different unit types
  1522.  Dim Distance1 As New Distance(10, DistanceUnit.Feet)
  1523.  Dim Distance2 As New Distance(20, DistanceUnit.StatuteMiles)
  1524.  Dim Distance3 As New Distance(50, DistanceUnit.Inches)
  1525.  ' Convert the distance measurements to feet and output the result 
  1526.  Debug.WriteLine(Distance1.ToNauticalMiles.ToString)
  1527.  Debug.WriteLine(Distance2.ToNauticalMiles.ToString)
  1528.  Debug.WriteLine(Distance3.ToNauticalMiles.ToString)
  1529.  </code>
  1530.         <code lang="C#">
  1531.  // Create distances of different unit types
  1532.  Distance Distance1 = new Distance(10, DistanceUnit.Feet);
  1533.  Distance Distance2 = new Distance(20, DistanceUnit.StatuteMiles);
  1534.  Distance Distance3 = new Distance(50, DistanceUnit.Inches);
  1535.  // Convert the distance measurements to feet and output the result 
  1536.  Debug.WriteLine(Distance1.ToNauticalMiles().ToString());
  1537.  Debug.WriteLine(Distance2.ToNauticalMiles().ToString());
  1538.  Debug.WriteLine(Distance3.ToNauticalMiles().ToString());
  1539.  </code>
  1540.     </example>
  1541.     <seealso cref="M:StormSource.Gps.Distance.ToFeet">ToFeet Method</seealso>
  1542.     <seealso cref="M:StormSource.Gps.Distance.ToInches">ToInches Method</seealso>
  1543.     <seealso cref="M:StormSource.Gps.Distance.ToKilometers">ToKilometers Method</seealso>
  1544.     <seealso cref="M:StormSource.Gps.Distance.ToMeters">ToMeters Method</seealso>
  1545.     <seealso cref="M:StormSource.Gps.Distance.ToStatuteMiles">ToStatuteMiles Method</seealso>
  1546. </member><member name="M:StormSource.Gps.Distance.ToStatuteMiles">
  1547.     <returns>A new <strong>Distance</strong> object containing the converted 
  1548.  value.</returns>
  1549.     <remarks>
  1550.  This method will perform a conversion into feet regardless of the current unit
  1551.  type. You may convert from any unit type to any unit type.
  1552.  </remarks>
  1553.     <summary>Converts the current measurement into miles.</summary>
  1554.     <example>
  1555.  This example converts various distances into statute miles.  Note that the ToStatuteMiles method 
  1556.  converts distances from any source type.
  1557.  <code lang="VB">
  1558.  ' Create distances of different unit types
  1559.  Dim Distance1 As New Distance(10, DistanceUnit.Feet)
  1560.  Dim Distance2 As New Distance(20, DistanceUnit.StatuteMiles)
  1561.  Dim Distance3 As New Distance(50, DistanceUnit.Inches)
  1562.  ' Convert the distance measurements to feet and output the result 
  1563.  Debug.WriteLine(Distance1.ToStatuteMiles.ToString)
  1564.  Debug.WriteLine(Distance2.ToStatuteMiles.ToString)
  1565.  Debug.WriteLine(Distance3.ToStatuteMiles.ToString)
  1566.  </code>
  1567.         <code lang="C#">
  1568.  // Create distances of different unit types
  1569.  Distance Distance1 = new Distance(10, DistanceUnit.Feet);
  1570.  Distance Distance2 = new Distance(20, DistanceUnit.StatuteMiles);
  1571.  Distance Distance3 = new Distance(50, DistanceUnit.Inches);
  1572.  // Convert the distance measurements to feet and output the result 
  1573.  Debug.WriteLine(Distance1.ToStatuteMiles().ToString());
  1574.  Debug.WriteLine(Distance2.ToStatuteMiles().ToString());
  1575.  Debug.WriteLine(Distance3.ToStatuteMiles().ToString());
  1576.  </code>
  1577.     </example>
  1578.     <seealso cref="M:StormSource.Gps.Distance.ToFeet">ToFeet Method</seealso>
  1579.     <seealso cref="M:StormSource.Gps.Distance.ToInches">ToInches Method</seealso>
  1580.     <seealso cref="M:StormSource.Gps.Distance.ToKilometers">ToKilometers Method</seealso>
  1581.     <seealso cref="M:StormSource.Gps.Distance.ToMeters">ToMeters Method</seealso>
  1582.     <seealso cref="M:StormSource.Gps.Distance.ToNauticalMiles">ToNauticalMiles Method</seealso>
  1583. </member><member name="M:StormSource.Gps.Distance.ToString">
  1584.     <summary>
  1585.  Outputs the current instance as a string using the default format.
  1586.  </summary>
  1587.     <returns>A <strong>String</strong> containing the current distance in the default format.</returns>
  1588.     <remarks>The default format used is "##0.## uu" where <strong>uu</strong> is the distance unit type.
  1589.  The numeric format may vary depending on the machine's local culture.</remarks>
  1590.     <example>
  1591.  This example uses the ToString method to populate a TextBox with a distance measurement.
  1592.  <code lang="VB">
  1593.  ' Declare a distance of 75 miles
  1594.  Dim MyDistance As New Distance(75, DistanceUnit.StatuteMiles)
  1595.  ' Set the text box to the distance, formatted as a string
  1596.  MyTextBox.Text = MyDistance.ToString
  1597.  </code>
  1598.         <code lang="C#">
  1599.  // Declare a distance of 75 miles
  1600.  Distance MyDistance = new Distance(75, DistanceUnit.StatuteMiles);
  1601.  // Set the text box to the distance, formatted as a string
  1602.  MyTextBox.Text = MyDistance.ToString();
  1603.  </code>
  1604.     </example>
  1605. </member><member name="M:StormSource.Gps.Distance.ToString(System.String)">
  1606.     <summary>
  1607.  Outputs the current instance as a string using the specified format.
  1608.  </summary>
  1609.     <returns>A <strong>String</strong> containing the distance in the specified format.</returns>
  1610.     <param name="format">
  1611.         <para>A combination of symbols, spaces, and any of the following case-insensitive
  1612.      letters: <strong>#</strong> or <strong>0</strong> for the value property, and <strong>U</strong> for
  1613.      distance units. Here are some examples:</para>
  1614.         <para>
  1615.             <table cellspacing="0" cols="3" cellpadding="2" width="100%">
  1616.                 <tr>
  1617.                     <td>##0.## uu</td>
  1618.                     <td>## uuuu</td>
  1619.                     <td># u</td>
  1620.                     <td>###</td>
  1621.                 </tr>
  1622.             </table>
  1623.         </para>
  1624.     </param>
  1625.     <remarks>This method allows a custom format to be applied to the ToString method.  Numeric formats
  1626.  will be adjusted to the machine's local UI culture.</remarks>
  1627.     <example>
  1628.  This example uses the ToString method to populate a TextBox with a distance measurement using a custom format.
  1629.  <code lang="VB">
  1630.  ' Declare a distance of 75 miles
  1631.  Dim MyDistance As New Distance(75, DistanceUnit.StatuteMiles)
  1632.  ' Set the text box to the distance, formatted as a string
  1633.  MyTextBox.Text = MyDistance.ToString("## uuu")
  1634.  </code>
  1635.         <code lang="C#">
  1636.  // Declare a distance of 75 miles
  1637.  Distance MyDistance = new Distance(75, DistanceUnit.StatuteMiles);
  1638.  // Set the text box to the distance, formatted as a string
  1639.  MyTextBox.Text = MyDistance.ToString("## uuu");
  1640.  </code>
  1641.     </example>
  1642. </member><member name="M:StormSource.Gps.Distance.ToString(System.String,System.IFormatProvider)">
  1643.     <summary>
  1644.  Outputs the current instance as a string using the specified format and local culture.
  1645.  </summary>
  1646.     <returns>A <strong>String</strong> containing the distance in the specified format.</returns>
  1647.     <param name="format">
  1648.         <para>A combination of symbols, spaces, and any of the following case-insensitive
  1649.      letters: <strong>#</strong> or <strong>0</strong> for the value property, and <strong>U</strong> for
  1650.      distance units. Here are some examples:</para>
  1651.         <para>
  1652.             <table cellspacing="0" cols="3" cellpadding="2" width="100%">
  1653.                 <tr>
  1654.                     <td>##0.## uu</td>
  1655.                     <td>## uuuu</td>
  1656.                     <td># u</td>
  1657.                     <td>###</td>
  1658.                 </tr>
  1659.             </table>
  1660.         </para>
  1661.     </param>
  1662.     <param name="formatProvider">
  1663.  Information about the culture to apply to the numeric format.
  1664.  </param>
  1665.     <remarks>This method allows a custom format to be applied to the ToString method.  Numeric formats
  1666.  will be adjusted to the machine's local UI culture.</remarks>
  1667.     <example>
  1668.  This example uses the ToString method to populate a TextBox with a distance measurement using a custom format and culture information.
  1669.  <code lang="VB">
  1670.  ' Declare a distance of 75 miles
  1671.  Dim MyDistance As New Distance(75, DistanceUnit.StatuteMiles)
  1672.  ' Set the text box to the distance, formatted as a string
  1673.  MyTextBox.Text = MyDistance.ToString("## uuu", CultureInfo.CurrentUICulture)
  1674.  </code>
  1675.         <code lang="C#">
  1676.  // Declare a distance of 75 miles
  1677.  Distance MyDistance = new Distance(75, DistanceUnit.StatuteMiles);
  1678.  // Set the text box to the distance, formatted as a string
  1679.  MyTextBox.Text = MyDistance.ToString("## uuu", CultureInfo.CurrentUICulture);
  1680.  </code>
  1681.     </example>
  1682. </member><member name="T:StormSource.Gps.Distance">
  1683.     <summary>
  1684.  Represents the measurement of a straight  between between two points on
  1685.  Earth's surface.
  1686.  </summary>
  1687.     <remarks>
  1688.         <para>The <strong>Distance</strong> class is utilized by the GPS service any time a
  1689.  distance measurement needed, such as the <see cref="P:StormSource.Gps.Distance.CurrentAltitude">current 
  1690.  altitude</see>. Measurements can be converted to either English or Metric system 
  1691.  measurements of <see cref="M:StormSource.Gps.Distance.ToStatuteMiles">statute miles</see>,
  1692.  <see cref="M:StormSource.Gps.Distance.ToNauticalMiles">nautical miles</see>,
  1693.  <see cref="M:StormSource.Gps.Distance.ToKilometers">kilometers</see>,
  1694.  <see cref="M:StormSource.Gps.Distance.ToMeters">meters</see>,
  1695.  <see cref="M:StormSource.Gps.Distance.ToFeet">feet</see>, and
  1696.  <see cref="M:StormSource.Gps.Distance.ToInches">inches</see>.</para>
  1697.         <para><img src="Distance.jpg"/></para>
  1698.         <para><img src="BestPractice.jpg"/></para><para><strong>Standardize unit type before modifying the Value
  1699.  property</strong></para>
  1700.         <para>On September 23, 1999, NASA's Mars Climate Orbiter spacecraft broke up as it
  1701.  entered the Mars atmosphere because of confusion between metric and
  1702.  English distance units.  Always use a unit conversion method such as
  1703.  <see cref="M:StormSource.Gps.Distance.ToMeters">ToMeters</see> to make all distance unit types the 
  1704.  same before performing any math operations. (See examples)</para>
  1705.         <para>
  1706.  The following code is incorrect because it disregards the unit type of each distance measurement.
  1707.  <code lang="VB">
  1708.  ' Perform math on two distance measurements
  1709.  Dim Distance1 As New Distance(50, DistanceUnit.Meters)
  1710.  Dim Distance2 As New Distance(100, DistanceUnit.StatuteMiles)
  1711.  Dim Distance3 As New Distance(0, DistanceUnit.Meters)
  1712.  ' INCORRECT: The result stored is 150 meters, which is wrong
  1713.  Distance3.Value = Distance1.Value + Distance2.Value
  1714.  </code>
  1715.             <code lang="C#">
  1716.  // Perform math on two distance measurements
  1717.  Distance Distance1 = new Distance(50, DistanceUnit.Meters);
  1718.  Distance Distance2 = new Distance(100, DistanceUnit.StatuteMiles);
  1719.  Distance Distance3 = new Distance(0, DistanceUnit.Meters);
  1720.  // INCORRECT: The result stored is 150 meters, which is wrong
  1721.  Distance3.Value = Distance1.Value + Distance2.Value;
  1722.  </code>
  1723.  The correct technique is to use a conversion method to standardize the unit types
  1724.  before performing mathematics:
  1725.  <code lang="VB">
  1726.  ' Perform math on two distance measurements
  1727.  Dim Distance1 As New Distance(50, DistanceUnit.Meters)
  1728.  Dim Distance2 As New Distance(100, DistanceUnit.StatuteMiles)
  1729.  Dim Distance3 As New Distance(0, DistanceUnit.Meters)
  1730.  ' CORRECT: Distances are converted to meters and THEN added together
  1731.  Distance3.Value = Distance1.ToMeters.Value + Distance2.ToMeters.Value
  1732.  </code>
  1733.             <code lang="C#">
  1734.  // Perform math on two distance measurements
  1735.  Distance Distance1 = new Distance(50, DistanceUnit.Meters);
  1736.  Distance Distance2 = new Distance(100, DistanceUnit.StatuteMiles);
  1737.  Distance Distance3 = new Distance(0, DistanceUnit.Meters);
  1738.  // CORRECT: Distances are converted to meters and THEN added together
  1739.  Distance3.Value = Distance1.ToMeters.Value + Distance2.ToMeters.Value;
  1740.  </code>
  1741.         </para>
  1742.         <para><img src="BestPractice.jpg"/></para><para><strong>Try to perform conversions using the original
  1743.  measurement whenever possible</strong></para>
  1744.         <para>When a conversion method is called, a tiny amount of accuracy is lost.
  1745.  Repetitive conversions would compound this loss of accuracy unless the
  1746.  conversions were made from the original distance measurement.</para>
  1747.     </remarks>
  1748.     <example>
  1749.  This example demonstrates how to create and work with distance measurements.
  1750.  <code lang="VB">
  1751.  ' Declare a distance of 50 meters
  1752.  Dim Distance1 As New Distance(50, DistanceUnit.Meters)
  1753.  ' Convert it into meters
  1754.  Dim Distance2 As Distance = Distance2.ToMeters
  1755.  </code>
  1756.         <code lang="C#">
  1757.  // Declare a distance of 50 meters
  1758.  Distance Distance1 = new Distance(50, DistanceUnit.Meters);
  1759.  // Convert it into meters
  1760.  Distance Distance2 = Distance2.ToMeters();
  1761.  </code>
  1762.     </example>
  1763. </member><member name="T:StormSource.Gps.MolodenskyTransform">
  1764.     <summary>
  1765.  Represents information about a three-parameter Molodensky transform.
  1766.  </summary>
  1767.     <remarks>
  1768.         <para>Molodensky transformations are used to convert one coordinate to another
  1769.      localized coordinate system. While Molodensky transforms are considered to be a
  1770.      more low-accuracy conversion, they can be performed to within a few meters of
  1771.      accuracy, plus estimated accuracy is part of each transform.</para>
  1772.         <para>NOTE: More common grid-based conversions are scheduled to be part of the
  1773.      next release of GPS.NET (version 1.5).</para>
  1774.     </remarks>
  1775.     <seealso cref="T:StormSource.Gps.Geodesy">Geodesy Class</seealso>
  1776. </member><member name="F:StormSource.Gps.Angle.Minimum">
  1777.     <summary>Represents the minimum allowed value for an angular measurement.</summary>
  1778.     <remarks>
  1779.      This member is typically used for looping through the entire range of possible
  1780.      angles, or to test the range of a value. This member is immutable, meaning that its
  1781.      properties cannot be modified.
  1782.  </remarks>
  1783.     <example>
  1784.      This example creates an angle representing the minimum allowed value of 0┬░.
  1785.     <code lang="VB">
  1786.  Dim MyAngle As Angle = Angle.Minimum
  1787.  </code>
  1788.         <code lang="C#">
  1789.  Angle MyAngle = Angle.Minimum;
  1790.  </code>
  1791.     </example>
  1792. </member><member name="F:StormSource.Gps.Angle.Maximum">
  1793.     <summary>Represents the maximum allowed value for an angular measurement.</summary>
  1794.     <remarks>
  1795.      This member is typically used for looping through the entire range of possible
  1796.      angles, or to test the range of a value. This member is immutable, meaning that its
  1797.      properties cannot be modified.
  1798.  </remarks>
  1799.     <example>
  1800.         This example creates an angle representing the maximum allowed value of 
  1801.         359.9999┬░.
  1802.     <code lang="VB">
  1803.  Dim MyAngle As Angle = Angle.Maximum
  1804.  </code>
  1805.         <code lang="C#">
  1806.  Angle MyAngle = Angle.Maximum;
  1807.  </code>
  1808.     </example>
  1809. </member><member name="M:StormSource.Gps.Angle.Normalize(System.Double)">
  1810.     <summary>Modifies a value so that it lies between 0┬░ and 360┬░.</summary>
  1811.     <returns>A <strong>Double</strong> representing the normalized angle.</returns>
  1812.     <remarks>
  1813.         <para>This function is used to ensure that an angular measurement is within the
  1814.      allowed bounds of 0┬░ and 360┬░. If a value of 360┬░ or 720┬░ is passed, a value of 0┬░
  1815.      is returned since 360┬░ and 720┬░ represent the same point on a circle. For the Angle
  1816.      class, this function is the same as "value Mod 360".</para>
  1817.         <para><em>NOTE: Normalization is performed automatically when assigning a new value
  1818.      to the <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see> or
  1819.      <see cref="P:StormSource.Gps.Angle.Hours">Hours</see> property.</em></para>
  1820.     </remarks>
  1821.     <param name="value">An angular measurement in decimal degrees.</param>
  1822.     <seealso cref="M:StormSource.Gps.Angle.Normalize(System.Double)">Normalize(Angle) Method</seealso>
  1823.     <example>
  1824.  This example demonstrates how normalization is performed automatically 
  1825.     during construction. The Stop statement is hit.
  1826.         <code lang="VB">
  1827.  Dim MyAngle As New Angle(720)
  1828.  If MyAngle.DecimalDegrees = 0 Then Stop
  1829.      </code>
  1830.         <code lang="C#">
  1831.  Angle MyAngle = new Angle(720);
  1832.  if (MyAngle.DecimalDegrees == 0)
  1833.  {
  1834.     Debug.WriteLine("Decimal degrees was normalized from 720 to 0.");
  1835.  }
  1836.      </code>
  1837.  This example demonstrates how the Normalize method can ensure that an 
  1838.  angle fits between 0┬░ and 359.9999┬░. This example normalizes 725┬░ into 5┬░.
  1839.         <code lang="VB">
  1840.  Dim MyValue As Double = Angle.Normalize(725)
  1841.      </code>
  1842.         <code lang="C#">
  1843.  double MyValue = Angle.Normalize(725);
  1844.      </code>
  1845.     </example>
  1846. </member><member name="E:StormSource.Gps.Angle.DecimalDegreesChanged(System.Object,StormSource.Gps.AngleEventArgs)">
  1847.     <summary>Occurs when the <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see>
  1848.  property has changed.
  1849.  </summary>
  1850.     <seealso cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees Property</seealso>
  1851.     <example>
  1852.      This example demonstrates how to be notified when a degree value
  1853.      changes.
  1854.         <code lang="VB">
  1855.  Private WithEvents MyAngle As New Angle()
  1856.   
  1857.  Sub Test()
  1858.      MyAngle.DecimalDegrees = 45
  1859.  End Sub
  1860.   
  1861.  Private Sub OnDecimalDegreesChanged(ByVal sender As Object, ByVal e As AngleEventArgs)
  1862.  Handles Angle.DecimalDegreesChanged
  1863.      Debug.WriteLine("Decimal degrees have changed.")
  1864.  End Sub
  1865.      </code>
  1866.     </example>
  1867.     <remarks>
  1868.  This event is typically used when an application must closely watch the value of
  1869.  an angular measurement.
  1870.  </remarks>
  1871. </member><member name="E:StormSource.Gps.Angle.HoursChanged(System.Object,StormSource.Gps.AngleEventArgs)">
  1872.     <summary>Occurs when the <see cref="P:StormSource.Gps.Angle.Hours">Hours</see> property has changed.</summary>
  1873.     <seealso cref="P:StormSource.Gps.Angle.Hours">Hours Property</seealso>
  1874.     <example>
  1875.      This example demonstrates how to be notified if the hours portion of an
  1876.      angular measurement changes.
  1877.     <code lang="VB">
  1878.  Private WithEvents MyAngle As New Angle()
  1879.   
  1880.  Sub Test()
  1881.      MyAngle.Hours = 45
  1882.  End Sub
  1883.   
  1884.  Private Sub OnHoursChanged(ByVal sender As Object, ByVal e As AngleEventArgs) Handles
  1885.  Angle.HoursChanged
  1886.      Debug.WriteLine("Hours have changed.")
  1887.  End Sub
  1888.  </code>
  1889.     </example>
  1890.     <remarks>
  1891.  This event is typically used when an application must closely watch the value of
  1892.  an angular measurement.
  1893.  </remarks>
  1894. </member><member name="E:StormSource.Gps.Angle.MinutesChanged(System.Object,StormSource.Gps.AngleEventArgs)">
  1895.     <summary>Occurs when the <see cref="P:StormSource.Gps.Angle.Minutes">Minutes</see> property has changed.</summary>
  1896.     <seealso cref="P:StormSource.Gps.Angle.Minutes">Minutes Property</seealso>
  1897.     <example>
  1898.      This example demonstrates how to be notified if the minutes portion of
  1899.      an angular measurement changes.
  1900.             <code lang="VB">
  1901.  Private WithEvents MyAngle As New Angle()
  1902.  Sub Test()
  1903.      MyAngle.Minutes = 45
  1904.  End Sub
  1905.   
  1906.  Private Sub OnMinutesChanged(ByVal sender As Object, ByVal e As AngleEventArgs) Handles Angle.MinutesChanged
  1907.      Debug.WriteLine("Minutes have changed.")
  1908.  End Sub
  1909.      </code>
  1910.     </example>
  1911.     <remarks>
  1912.  This event is typically used when an application must closely watch the value of
  1913.  an angular measurement.
  1914.  </remarks>
  1915. </member><member name="E:StormSource.Gps.Angle.SecondsChanged(System.Object,StormSource.Gps.AngleEventArgs)">
  1916.     <summary>Occurs when the <see cref="P:StormSource.Gps.Angle.Seconds">Seconds</see> property has changed.</summary>
  1917.     <seealso cref="P:StormSource.Gps.Angle.Seconds">Seconds Property</seealso>
  1918.     <example>
  1919.      This example demonstrates how to be notified if the seconds portion of
  1920.      an angular measurement changes.
  1921.  <code lang="VB">
  1922.  Private WithEvents MyAngle As New Angle()
  1923.   
  1924.  Sub Test()
  1925.      MyAngle.Seconds = 45
  1926.  End Sub
  1927.   
  1928.  Private Sub OnSecondsChanged(ByVal sender As Object, ByVal e As AngleEventArgs) Handles Angle.SecondsChanged
  1929.      Debug.WriteLine("Seconds have changed.")
  1930.  End Sub
  1931.      </code>
  1932.     </example>
  1933.     <remarks>
  1934.  This event is typically used when an application must closely watch the value of
  1935.  an angular measurement.
  1936.  </remarks>
  1937. </member><member name="M:StormSource.Gps.Angle.#ctor">
  1938.     <summary>Creates a new instance with a default value of 0┬░.</summary>
  1939.     <example>
  1940.  This example creates a new instance with a default value of 0┬░.
  1941.  <code lang="VB">
  1942.  Dim MyAngle As New Angle()
  1943.  </code>
  1944.         <code lang="C#">
  1945.  Angle MyAngle = new Angle();
  1946.  </code>
  1947.     </example>
  1948. </member><member name="M:StormSource.Gps.Angle.#ctor(System.Double,System.Boolean)">
  1949.     <summary>
  1950.  Creates a new, immutable instance with the specified decimal degrees.
  1951.  </summary>
  1952.     <param name="value">A <strong>Double</strong> value to store in the DecimalDegrees property.</param>
  1953.     <param name="isImmutable">A <strong>Boolean</strong>, <strong>True</strong> if the instance should be read-only.</param>
  1954.     <remarks>This constructor is typically used when developers need to create static (<strong>Shared</strong> in Visual Basic) angular measurements.</remarks>
  1955.     <example>
  1956.  This example creates a new immutable instance of 45┬░.
  1957.  <code lang="VB">
  1958.  Dim MyAngle As New Angle(45, True)
  1959.  </code>
  1960.         <code lang="C#">
  1961.  Angle MyAngle = new Angle(45, true);
  1962.  </code>
  1963.     </example>
  1964. </member><member name="M:StormSource.Gps.Angle.#ctor(System.Double)">
  1965.     <summary>Creates a new instance with the specified decimal degrees.</summary>
  1966.     <param name="value">A value to set in the <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees property</see>.</param>
  1967.     <example>
  1968.      This example demonstrates how to create an angle with a measurement of 90┬░.
  1969.     <code lang="VB">
  1970.  Dim MyAngle As New Angle(90)
  1971.  </code>
  1972.         <code lang="C#">
  1973.  Angle MyAngle = new Angle(90);
  1974.  </code>
  1975.     </example>
  1976. </member><member name="M:StormSource.Gps.Angle.#ctor(System.Int32,System.Int32,System.Double)">
  1977.     <summary>Creates a new instance with the specified hours, minutes and 
  1978.  seconds.</summary>
  1979.     <param name="hours">An <strong>Integer</strong> value to assign to the
  1980.         <see cref="P:StormSource.Gps.Angle.Hours">Hours</see> property.
  1981.  </param>
  1982.     <param name="minutes">
  1983.         An <strong>Integer</strong> value to assign to the
  1984.         <see cref="P:StormSource.Gps.Angle.Minutes">Minutes</see> property.
  1985.  </param>
  1986.     <param name="seconds">
  1987.         A <strong>Double</strong> value to assign to the
  1988.         <see cref="P:StormSource.Gps.Angle.Seconds">Seconds</see> property.
  1989.  </param>
  1990.     <example>
  1991.      This example demonstrates how to create an angular measurement of 
  1992.  34┬░12'29.2 in hours, minutes and seconds.
  1993.     <code lang="VB">
  1994.  Dim MyAngle As New Angle(34, 12, 29.2)
  1995.  </code>
  1996.         <code lang="C#">
  1997.  Angle MyAngle = new Angle(34, 12, 29.2);
  1998.  </code>
  1999.     </example>
  2000. </member><member name="M:StormSource.Gps.Angle.#ctor(System.Int32,System.Double)">
  2001.     <summary>Creates a new instance with the specified hours and decimal minutes.</summary>
  2002.     <param name="hours">An <strong>Integer</strong> value to assign to the
  2003.         <see cref="P:StormSource.Gps.Angle.Hours">Hours</see> property.
  2004.  </param>
  2005.     <param name="minutes">
  2006.         A <strong>Double</strong> value to assign to the
  2007.         <see cref="P:StormSource.Gps.Angle.DecimalMinutes">DecimalMinutes</see> property.
  2008.  </param>
  2009.     <example>
  2010.  This example demonstrates how an angle can be created when only the 
  2011.  hours and minutes (in decimal form) are known. This creates a value of 12┬░42.345'.
  2012.     <code lang="VB">
  2013.  Dim MyAngle As New Angle(12, 42.345)
  2014.  </code>
  2015.         <code lang="VB">
  2016.  Angle MyAngle = new Angle(12, 42.345);
  2017.  </code>
  2018.     </example>
  2019. </member><member name="M:StormSource.Gps.Angle.#ctor(System.String)">
  2020.     <summary>Creates a new instance with the specified hours, minutes and/or seconds in the
  2021.         form of a string.
  2022.  </summary>
  2023.     <remarks>
  2024.         This constructor causes the
  2025.         <see cref="M:StormSource.Gps.Angle.Parse(System.String)">Parse</see> function to be called. If the
  2026.         parsing succeeds, the <see cref="P:StormSource.Gps.Angle.Hours">Hours</see>,
  2027.         <see cref="P:StormSource.Gps.Angle.Minutes">Minutes</see>, and/or
  2028.         <see cref="P:StormSource.Gps.Angle.Seconds">Seconds</see> properties are set. This function is
  2029.         typically used to parse measurements from a file or entered by the user.
  2030.  </remarks>
  2031.     <seealso cref="M:StormSource.Gps.Angle.Parse(System.String)">Parse Method</seealso>
  2032.     <param name="value">A <strong>String</strong> value containing an angular measurement.</param>
  2033.     <exception cref="T:System.ArgumentNullException" caption="ArgumentNullException">See the Parse method for specific exceptions.</exception>
  2034.     <exception cref="T:System.ArgumentException" caption="ArgumentException">See the Parse method for specific exceptions.</exception>
  2035.     <example>
  2036.      This example creates a new instance by parsing a string. (NOTE: The 
  2037.  double-quote is doubled up to represent a single double-quote in the string.)
  2038.             <code lang="VB">
  2039.  Dim MyAngle As New Angle("123┬░45'67.8""")
  2040.      </code>
  2041.         <code lang="VB">
  2042.  Angle MyAngle = new Angle("123┬░45'67.8""")
  2043.  </code>
  2044.     </example>
  2045. </member><member name="P:StormSource.Gps.Angle.IsImmutable">
  2046.     <summary>Indicates if an angle's properties may be modified.</summary>
  2047.     <returns>An object is considered immutable if it's value(s) cannot be changed.  This is set to True for any shared fields in this class.</returns>
  2048.     <remarks>
  2049.  An object is considered "immutable" if it's properties cannot be modified in any
  2050.  way. Shared fields such as
  2051.  <see cref="F:StormSource.Gps.Angle.Minimum">Minimum</see> and
  2052.  <see cref="F:StormSource.Gps.Angle.Maximum">Maximum</see> are always immutable into to prevent them from being modified.
  2053.  </remarks>
  2054.     <example>
  2055.  This example demonstrates how to test if an object is immutable before proceeding to
  2056.  change a property.
  2057.  <code lang="VB">
  2058.  Dim MyAngle As New Angle(45, True)
  2059.  If Not MyAngle.IsImmutable Then
  2060.    MyAngle.Hours = 90
  2061.  End If
  2062.  </code>
  2063.         <code lang="C#">
  2064.  Angle MyAngle = new Angle(45, True);
  2065.  if (!MyAngle.IsImmutable)
  2066.  {
  2067.    MyAngle.Hours = 90;
  2068.  }
  2069.  </code>
  2070.     </example>
  2071. </member><member name="M:StormSource.Gps.Angle.CompareTo(System.Object)">
  2072.     <summary>Returns a value indicating the relative order of two objects.</summary>
  2073.     <returns>A value of -1, 0, or 1 as documented by the IComparable interface.</returns>
  2074.     <remarks>
  2075.         This method allows collections of <strong>Angle</strong> objects to be sorted.
  2076.         The <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see> property of each instance is compared.
  2077.  </remarks>
  2078.     <param name="obj">An <strong>Angle</strong> object to compare with.</param>
  2079. </member><member name="M:StormSource.Gps.Angle.Clone">
  2080.     <summary>Creates a mutable copy of the current instance.</summary>
  2081.     <returns>A new <strong>Angle</strong> object with the same property values.</returns>
  2082.     <remarks>
  2083.  The cloned object shares the same value for the
  2084.  <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see> property.  The 
  2085.  <see cref="P:StormSource.Gps.Angle.IsImmutable">immutable</see> setting is not copied, thus 
  2086.  allowing this method to make a writable copy of a read-only shared field. 
  2087.  </remarks>
  2088.     <example>
  2089.      This example creates an angular measurement of ninety degrees, then copies the
  2090.      object to a new instance. The properties of both objects have the same value.
  2091.      <code lang="VB">
  2092.  ' Create an angle of 90┬░
  2093.  Dim OriginalAngle As New Angle(90)
  2094.  ' Create a copy of the object
  2095.  Dim MyClone As Angle = OriginalAngle.Clone
  2096.      </code>
  2097.         <code lang="C#">
  2098.  // Create an angle of 90┬░
  2099.  Angle OriginalAngle = new Angle(90);
  2100.  // Create a copy of the object
  2101.  Angle MyClone = OriginalAngle.Clone();
  2102.             </code>
  2103.     </example>
  2104. </member><member name="M:StormSource.Gps.Angle.ToRadians">
  2105.     <summary>Converts the current instance into radians.</summary>
  2106.     <returns>A <see cref="T:StormSource.Gps.Radian">Radian</see> object.</returns>
  2107.     <remarks>
  2108.         <para>This function is typically used to convert an angular measurement into
  2109.      radians before performing a trigonometric function.
  2110.             </para>
  2111.     </remarks>
  2112.     <seealso cref="T:StormSource.Gps.Radian">Radian Class</seealso>
  2113.     <overloads>Converts an angular measurement into radians before further processing.</overloads>
  2114.     <example>
  2115.      This example converts a measurement of 90┬░ into radians.
  2116.     <code lang="VB">
  2117.  Dim MyAngle As New Angle(90)
  2118.  Dim MyRadians As Radian = MyAngle.ToRadians()
  2119.  </code>
  2120.         <code lang="C#">
  2121.  Angle MyAngle = new Angle(90);
  2122.  Radian MyRadians = MyAngle.ToRadians();
  2123.  </code>
  2124.     </example>
  2125. </member><member name="M:StormSource.Gps.Angle.ToRadians(System.Double)">
  2126.     <remarks>
  2127.         <para>This function is typically used to convert an angular measurement into
  2128.      radians before performing a trigonometric function.</para>
  2129.     </remarks>
  2130.     <returns>A <see cref="T:StormSource.Gps.Radian"><strong>Radian</strong></see> object.</returns>
  2131.     <param name="value">A decimal degree measurement.</param>
  2132.     <summary>Converts an angular measurement into radians.</summary>
  2133.     <example>
  2134.  This example shows a quick way to convert an angle of 90┬░ into radians.
  2135.  <code lang="VB">
  2136.  Dim MyRadian As Radian = Angle.ToRadians(90)
  2137.  </code>
  2138.         <code lang="C#">
  2139.  Radian MyRadian = Angle.ToRadians(90);
  2140.  </code>
  2141.     </example>
  2142. </member><member name="M:StormSource.Gps.Angle.FromRadians(StormSource.Gps.Radian)">
  2143.     <summary>Converts a value in radians into an angular measurement.</summary>
  2144.     <remarks>
  2145.         This function is typically used in conjunction with the
  2146.         <see cref="M:StormSource.Gps.Angle.ToRadians">ToRadians</see>
  2147.         method after a trigonometric function has completed. The converted value is stored in
  2148.         the <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see> property.
  2149.  </remarks>
  2150.     <seealso cref="M:StormSource.Gps.Angle.ToRadians">ToRadians</seealso>
  2151.     <seealso cref="T:StormSource.Gps.Radian">Radian Class</seealso>
  2152.     <param name="value">A <strong>Radian</strong> containing a measurement in 
  2153.  radians.</param>
  2154.     <example>
  2155.  This example demonstrates how to set the DecimalDegrees property to a value based
  2156.  on one radian.
  2157.  <code lang="VB">
  2158.  ' Create a new angle equal to one radian
  2159.  Dim MyAngle As New Angle()
  2160.  Dim MyRadians As New Radian(1)
  2161.  MyAngle.FromRadians(MyRadians)
  2162.  ' Output the angle in decimal degrees
  2163.  Debug.WriteLine(MyAngle.ToString())
  2164.  </code>
  2165.         <code lang="C#">
  2166.  // Create a new angle equal to one radian
  2167.  Angle MyAngle = new Angle();
  2168.  Radian MyRadians = new Radian(1);
  2169.  MyAngle.FromRadians(MyRadians)
  2170.  // Output the angle in decimal degrees
  2171.  Debug.WriteLine(MyAngle.ToString());
  2172.  </code>
  2173.     </example>
  2174. </member><member name="M:StormSource.Gps.Angle.FromRadians(System.Double)">
  2175.     <summary>Converts a value in radians into an angular measurement.</summary>
  2176.     <param name="value">A <strong>Double</strong> containing a measurement in 
  2177.  radians.</param>
  2178.     <remarks>
  2179.         This function is typically used in conjunction with the
  2180.         <see cref="M:StormSource.Gps.Angle.ToRadians">ToRadians</see>
  2181.         method after a trigonometric function has completed. The converted value is stored in
  2182.         the <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see> property.
  2183.  </remarks>
  2184.     <example>
  2185.  This example demonstrates how to set the DecimalDegrees property to a value based
  2186.  on one radian.
  2187.  <code lang="VB">
  2188.  ' Create a new angle equal to one radian
  2189.  Dim MyAngle As New Angle()
  2190.  MyAngle.FromRadians(1)
  2191.  ' Output the angle in decimal degrees
  2192.  Debug.WriteLine(MyAngle.ToString())
  2193.  </code>
  2194.         <code lang="C#">
  2195.  // Create a new angle equal to one radian
  2196.  Angle MyAngle = new Angle();
  2197.  MyAngle.FromRadians(1);
  2198.  // Output the angle in decimal degrees
  2199.  Debug.WriteLine(MyAngle.ToString());
  2200.  </code>
  2201.     </example>
  2202.     <seealso cref="M:StormSource.Gps.Angle.ToRadians">ToRadians</seealso>
  2203.     <seealso cref="T:StormSource.Gps.Radian">Radian Class</seealso>
  2204. </member><member name="P:StormSource.Gps.Angle.DecimalDegrees">
  2205.     <summary>Represents hours, minutes and/or seconds as a single numeric value.</summary>
  2206.     <value>A <strong>Double</strong> value.</value>
  2207.     <remarks>
  2208.  This property is typically used when a measurement does not need to be specified
  2209.  as individual hours, minutes and seconds. Changing this property causes the
  2210.  <see cref="E:StormSource.Gps.Angle.DecimalDegreesChanged(System.Object,StormSource.Gps.AngleEventArgs)">
  2211.  DecimalDegreesChanged</see> event to be raised, and the
  2212.  <see cref="P:StormSource.Gps.Angle.Hours">Hours</see>,
  2213.  <see cref="P:StormSource.Gps.Angle.Minutes">Minutes</see> and
  2214.  <see cref="P:StormSource.Gps.Angle.Seconds">Seconds</see> properties are automatically
  2215.  recalculated.
  2216.  </remarks>
  2217.     <seealso cref="E:StormSource.Gps.Angle.DecimalDegreesChanged(System.Object,StormSource.Gps.AngleEventArgs)">DecimalDegreesChanged Event</seealso>
  2218.     <seealso cref="P:StormSource.Gps.Angle.Hours">Hours Property</seealso>
  2219.     <seealso cref="P:StormSource.Gps.Angle.Minutes">Minutes Property</seealso>
  2220.     <seealso cref="P:StormSource.Gps.Angle.Seconds">Seconds Property</seealso>
  2221.     <example>
  2222.      This example demonstrates how the
  2223.      <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see> property
  2224.      re-calculates the Hours, Minutes, DecimalMinutes and Seconds properties
  2225.      automatically. Note how the Hours property is correct even though it was not
  2226.      explicitly set to a value.
  2227.  <code lang="VB">
  2228.  ' Create an angle of 20.5┬░
  2229.  Dim MyAngle As New Angle()
  2230.  MyAngle.DecimalDegrees = 20.5
  2231.  ' Setting the DecimalMinutes recalculated other properties 
  2232.  Debug.WriteLine(MyAngle.Hours)
  2233.  ' Output: "20"
  2234.  </code>
  2235.         <code lang="C#">
  2236.  // Create an angle of 20.5┬░
  2237.  Angle MyAngle = new Angle();
  2238.  MyAngle.DecimalDegrees = 20.5;
  2239.  // Setting the DecimalMinutes recalculated other properties 
  2240.  Debug.WriteLine(MyAngle.Hours);
  2241.  // Output: "20"
  2242.  </code>
  2243.     </example>
  2244.     <exception cref="T:StormSource.Gps.ImmutableObjectException" caption="ImmutableObjectException">Thrown if the object was created 
  2245.  with the IsImmutable flag set.  This is typically thrown when attempting to modify a 
  2246.  shared member.</exception>
  2247. </member><member name="P:StormSource.Gps.Angle.DecimalMinutes">
  2248.     <summary>Returns the minutes and seconds as a single numeric value.</summary>
  2249.     <seealso cref="P:StormSource.Gps.Angle.Minutes">Minutes Property</seealso>
  2250.     <seealso cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees Property</seealso>
  2251.     <seealso cref="E:StormSource.Gps.Angle.MinutesChanged(System.Object,StormSource.Gps.AngleEventArgs)">MinutesChanged Event</seealso>
  2252.     <seealso cref="E:StormSource.Gps.Angle.SecondsChanged(System.Object,StormSource.Gps.AngleEventArgs)">SecondsChanged Event</seealso>
  2253.     <value>A <strong>Double</strong> value.</value>
  2254.     <remarks>
  2255.  This property is typically used when the hours an minutes of a measurement are
  2256.  known, but not the seconds. Changing this property causes the
  2257.  <see cref="E:StormSource.Gps.Angle.MinutesChanged(System.Object,StormSource.Gps.AngleEventArgs)">MinutesChanged</see> and
  2258.  <see cref="E:StormSource.Gps.Angle.SecondsChanged(System.Object,StormSource.Gps.AngleEventArgs)">SecondsChanged</see> events to be raised, and the
  2259.  <see cref="P:StormSource.Gps.Angle.Hours">DecimalDegrees</see> and
  2260.  <see cref="P:StormSource.Gps.Angle.Seconds">Seconds</see> properties are
  2261.  automatically recalculated.
  2262.  </remarks>
  2263.     <exception cref="T:StormSource.Gps.ImmutableObjectException" caption="ImmutableObjectException">Thrown if the object was created 
  2264.  with the IsImmutable flag set.  This is typically thrown when attempting to modify a 
  2265.  shared member.</exception>
  2266.     <example>
  2267.  This example demonstrates how setting this property causes the Hours, Minutes, 
  2268.  DecimalDegrees and Seconds properties to be recalculated automatically. Note how the 
  2269.  Hours property is correct even though it was not explicitly set to a value.
  2270.  <code lang="VB">
  2271.  ' Create an angle of 20.5┬░
  2272.  Dim MyAngle As New Angle()
  2273.  MyAngle.DecimalDegrees = 20.5
  2274.  ' Setting the DecimalMinutes recalculated other properties 
  2275.  Debug.WriteLine(MyAngle.Minutes)
  2276.  ' Output: "20"
  2277.  </code>
  2278.         <code lang="C#">
  2279.  // Create an angle of 20.5┬░
  2280.  Angle MyAngle = new Angle();
  2281.  MyAngle.DecimalMinutes = 20.5;
  2282.  // Setting the DecimalMinutes recalculated other properties 
  2283.  Debug.WriteLine(MyAngle.Minutes);
  2284.  // Output: "20"
  2285.  </code>
  2286.     </example>
  2287. </member><member name="M:StormSource.Gps.Angle.Equals(StormSource.Gps.Angle)">
  2288.     <summary>Compares the current instance to another instance.</summary>
  2289.     <returns>Returns <strong>True</strong> if the
  2290.         <see cref="P:StormSource.Gps.Angle.DecimalDegrees">
  2291.         DecimalDegrees</see> properties are the same out to four digits of precision.
  2292.  </returns>
  2293.     <remarks>
  2294.         For comparisons using less or more precision, refer to the
  2295.         <see cref="M:StormSource.Gps.Angle.Equals(StormSource.Gps.Angle)">Equals</see>
  2296.         method.
  2297.  </remarks>
  2298.     <seealso cref="M:StormSource.Gps.Angle.Equals(StormSource.Gps.Angle)">Equals Method</seealso>
  2299.     <param name="value">An <strong>Angle</strong> object.</param>
  2300. </member><member name="M:StormSource.Gps.Angle.Equals(StormSource.Gps.Angle,System.Int32)">
  2301.     <summary>Compares the current instance to another instance with the specified precision.</summary>
  2302.     <param name="value">An <strong>Angle</strong> object.</param>
  2303.     <param name="precision">
  2304.         An <strong>Integer</strong> containing the precision used during
  2305.         comparison.
  2306.  </param>
  2307.     <returns>
  2308.         <para>Returns <strong>True</strong> if the
  2309.             <see cref="P:StormSource.Gps.Angle.DecimalDegrees">
  2310.      DecimalDegrees</see> properties are the same out to the number of digits specified by
  2311.      the Precision parameter.</para>
  2312.     </returns>
  2313.     <remarks>
  2314.         <para>This is typically used in special cases where the default precision of four
  2315.      digits is not sufficient. For comparisons using the default precision of four
  2316.      digits, refer to the
  2317.      <see cref="M:StormSource.Gps.Angle.Equals(StormSource.Gps.Angle)">Equals</see>
  2318.      method.</para>
  2319.     </remarks>
  2320.     <seealso cref="M:StormSource.Gps.Angle.Equals(StormSource.Gps.Angle)">Equals Method</seealso>
  2321. </member><member name="M:StormSource.Gps.Angle.Equals(System.Double)">
  2322.     <summary>Compares the current instance to the specified decimal degrees.</summary>
  2323.     <param name="value">
  2324.         A <strong>Double</strong> containing an angular measurement in decimal
  2325.         degrees.
  2326.  </param>
  2327.     <remarks>
  2328.         For comparisons using less or more precision, refer to the
  2329.         <see cref="M:StormSource.Gps.Angle.Equals(StormSource.Gps.Angle)">Equals</see>
  2330.         method.
  2331.  </remarks>
  2332.     <returns>Returns <strong>True</strong> if the
  2333.         <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see> properties are the same out to four digits of precision.
  2334.  </returns>
  2335. </member><member name="M:StormSource.Gps.Angle.Equals(System.Double,System.Int32)">
  2336.     <summary>Compares the current instance to a value with the specified precision.</summary>
  2337.     <returns>
  2338.         <para>Returns <strong>True</strong> if the
  2339.         <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see> 
  2340.         properties are the same out to the number of digits specified by the Precision parameter.</para>
  2341.     </returns>
  2342. </member><member name="M:StormSource.Gps.Angle.Equals(System.Object)">
  2343.     <summary>Compares the current instance to an arbitrary type or object.</summary>
  2344.     <returns>
  2345.         Returns <strong>True</strong> if the <strong>DecimalDegrees</strong> property
  2346.         precisely matches the value passed.
  2347.  </returns>
  2348.     <remarks>
  2349.         This function will return <strong>False</strong> if a value other than a
  2350.         <strong>Double</strong> or <strong>Angle</strong> is passed.
  2351.  </remarks>
  2352.     <param name="value">A <strong>Double</strong> or <strong>Angle</strong> object to compare
  2353.         with.
  2354.  </param>
  2355. </member><member name="M:StormSource.Gps.Angle.GetHashCode">
  2356.     <summary>Returns a unique code for this instance.</summary>
  2357.     <remarks>
  2358.  The hash code is created based on the value of the
  2359.  <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see> property.
  2360.  </remarks>
  2361. </member><member name="P:StormSource.Gps.Angle.Hours">
  2362.     <summary>Returns the integer hours (degrees) portion of an angular 
  2363.  measurement.</summary>
  2364.     <seealso cref="E:StormSource.Gps.Angle.HoursChanged(System.Object,StormSource.Gps.AngleEventArgs)">HoursChanged Event</seealso>
  2365.     <seealso cref="P:StormSource.Gps.Angle.Minutes">Minutes Property</seealso>
  2366.     <seealso cref="P:StormSource.Gps.Angle.Seconds">Seconds Property</seealso>
  2367.     <value>An <strong>Integer</strong> value.</value>
  2368.     <remarks>This property is used in conjunction with the <see cref="P:StormSource.Gps.Angle.Minutes">Minutes</see> 
  2369.  and <see cref="P:StormSource.Gps.Angle.Seconds">Seconds</see> properties to 
  2370.  create a <see cref="M:StormSource.Gps.Angle.SetSexagesimal">sexagesimal</see> measurement.  Changing this 
  2371.  property causes the <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see> property to be 
  2372.  recalculated to match the decimal representation of the sexagesimal measurement.  The
  2373.  <see cref="E:StormSource.Gps.Angle.HoursChanged(System.Object,StormSource.Gps.AngleEventArgs)">HoursChanged</see> event is also Occurs when this property
  2374.  changes.  If this property is assigned to a value
  2375.      outside the allowed minimum and maximum, the value will automatically be
  2376.      <see cref="M:StormSource.Gps.Angle.Normalize(System.Double)">normalized</see>.
  2377.  </remarks>
  2378.     <exception cref="T:StormSource.Gps.ImmutableObjectException" caption="ImmutableObjectException">Thrown if the object was created 
  2379.  with the IsImmutable flag set.  This is typically thrown when attempting to modify a 
  2380.  shared member.</exception>
  2381.     <example>This example creates an angle of 45┬░ using the Hours property.
  2382.  <code lang="VB">
  2383.  Dim MyAngle As New Angle()
  2384.  MyAngle.Hours = 45
  2385.  </code>
  2386.         <code lang="C#">
  2387.  Angle MyAngle = new Angle();
  2388.  MyAngle.Hours = 45;
  2389.  </code>
  2390.     </example>
  2391. </member><member name="P:StormSource.Gps.Angle.Minutes">
  2392.     <summary>Returns the integer minutes portion of an angular measurement.</summary>
  2393.     <seealso cref="E:StormSource.Gps.Angle.MinutesChanged(System.Object,StormSource.Gps.AngleEventArgs)">MinutesChanged Event</seealso>
  2394.     <seealso cref="P:StormSource.Gps.Angle.Hours">Hours Property</seealso>
  2395.     <seealso cref="P:StormSource.Gps.Angle.Seconds">Seconds Property</seealso>
  2396.     <remarks>This property is used in conjunction with the <see cref="P:StormSource.Gps.Angle.Hours">Hours</see> 
  2397.  and <see cref="P:StormSource.Gps.Angle.Seconds">Seconds</see> properties to 
  2398.  create a <see cref="M:StormSource.Gps.Angle.SetSexagesimal">sexagesimal</see> measurement.  Changing this 
  2399.  property causes the <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see> property to be 
  2400.  recalculated to match the decimal representation of the sexagesimal measurement.  The
  2401.  <see cref="E:StormSource.Gps.Angle.MinutesChanged(System.Object,StormSource.Gps.AngleEventArgs)">MinutesChanged</see> event is also Occurs when this property
  2402.  changes.
  2403.  </remarks>
  2404.     <value>An <strong>Integer</strong>.</value>
  2405.     <exception cref="T:StormSource.Gps.ImmutableObjectException" caption="ImmutableObjectException">Thrown if the object was created 
  2406.  with the IsImmutable flag set.  This is typically thrown when attempting to modify a 
  2407.  shared member.</exception>
  2408.     <example>This example creates an angle of 45┬░30' (45 degrees, 30 minutes) using the Hours and Minutes properties.
  2409.  <code lang="VB">
  2410.  Dim MyAngle As New Angle()
  2411.  MyAngle.Hours = 45
  2412.  MyAngle.Minutes = 30
  2413.  </code>
  2414.         <code lang="C#">
  2415.  Angle MyAngle = new Angle();
  2416.  MyAngle.Hours = 45;
  2417.  MyAngle.Minutes = 30;
  2418.  </code>
  2419.     </example>
  2420. </member><member name="M:StormSource.Gps.Angle.Parse(System.String)">
  2421.     <summary>Converts an angular measurement in the form of a string into an
  2422.         <strong>Angle</strong> object.
  2423.  </summary>
  2424.     <returns>
  2425.         A new <strong>Angle</strong> object populated with the specified 
  2426.         values.
  2427.     </returns>
  2428.     <remarks>
  2429.         <para>This powerful method is typically used to process data from a data store or a
  2430.      value input by the user. This function can accept any format which can be output by
  2431.      the <see cref="M:StormSource.Gps.Angle.ToString">ToString</see> method.</para>
  2432.     </remarks>
  2433.     <exception cref="T:System.ArgumentNullException" caption="ArgumentNullException">The Parse method requires a decimal 
  2434.         or sexagesimal measurement.</exception>
  2435.     <exception cref="T:System.FormatException" caption="FormatException">1. Only the right-most portion of a sexagesimal measurement can be a fractional value.<br/>
  2436.  2. Extra characters were encountered while parsing an angular measurement.  Only hours, minutes, and seconds are allowed.<br/>
  2437.  3. The specified text was not fully understood as an angular measurement.</exception>
  2438.     <param name="value">
  2439.         <para>A <strong>String</strong> in any of the following formats (or variation
  2440.      depending on the local culture):</para>
  2441.         <para>
  2442.             <table cellspacing="0" cols="4" cellpadding="2" width="100%">
  2443.                 <tbody>
  2444.                     <tr>
  2445.                         <td>hh</td>
  2446.                         <td>hh.h</td>
  2447.                         <td>hh mm</td>
  2448.                         <td>hh mm.mm</td>
  2449.                     </tr>
  2450.                     <tr>
  2451.                         <td>hh mm ss</td>
  2452.                         <td>hh mm ss.sss</td>
  2453.                         <td></td>
  2454.                         <td></td>
  2455.                     </tr>
  2456.                 </tbody>
  2457.             </table>
  2458.         </para>
  2459.         <para>Any non-numeric character between numbers is considered a delimiter. Thus, a
  2460.      value of <strong>12┬░34'56.78"</strong> or even <strong>12A34B56.78C</strong> is
  2461.      treated the same as <strong>12 34 56.78</strong>.</para>
  2462.     </param>
  2463.     <seealso cref="M:StormSource.Gps.Angle.ToString">ToString Method</seealso>
  2464.     <example>
  2465.  This example creates a new angular measurement using the Parse 
  2466.  method.
  2467.  <code lang="VB">
  2468.  Dim NewAngle As Angle = Angle.Parse("123.45┬░")
  2469.  </code>
  2470.         <code lang="C#">
  2471.  Angle NewAngle = Angle.Parse("123.45┬░");
  2472.  </code>
  2473.     </example>
  2474. </member><member name="P:StormSource.Gps.Angle.Seconds">
  2475.     <summary>Returns the seconds minutes portion of an angular measurement.</summary>
  2476.     <remarks>This property is used in conjunction with the <see cref="P:StormSource.Gps.Angle.Hours">Hours</see> 
  2477.  and <see cref="P:StormSource.Gps.Angle.Minutes">Minutes</see> properties to 
  2478.  create a <see cref="M:StormSource.Gps.Angle.SetSexagesimal">sexagesimal</see> measurement.  Changing this 
  2479.  property causes the <see cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees</see> property to be 
  2480.  recalculated to match the decimal representation of the sexagesimal measurement.  The
  2481.  <see cref="E:StormSource.Gps.Angle.SecondsChanged(System.Object,StormSource.Gps.AngleEventArgs)">SecondsChanged</see> event is also Occurs when this property
  2482.  changes.
  2483.  </remarks>
  2484.     <seealso cref="E:StormSource.Gps.Angle.SecondsChanged(System.Object,StormSource.Gps.AngleEventArgs)">SecondsChanged Event</seealso>
  2485.     <seealso cref="P:StormSource.Gps.Angle.Hours">Hours Property</seealso>
  2486.     <seealso cref="P:StormSource.Gps.Angle.Minutes">Minutes Property</seealso>
  2487.     <value>A <strong>Double</strong> value.</value>
  2488.     <exception cref="T:StormSource.Gps.ImmutableObjectException" caption="ImmutableObjectException">Thrown if the object was created 
  2489.  with the IsImmutable flag set.  This is typically thrown when attempting to modify a 
  2490.  shared member.</exception>
  2491.     <example>This example creates an angle of 45┬░30'15" (45 degrees, 30 minutes, 15 seconds) 
  2492.  using the Hours, Minutes and Seconds properties.
  2493.  <code lang="VB">
  2494.  Dim MyAngle As New Angle()
  2495.  MyAngle.Hours = 45
  2496.  MyAngle.Minutes = 30
  2497.  MyAngle.Seconds = 15
  2498.  </code>
  2499.         <code lang="C#">
  2500.  Angle MyAngle = new Angle();
  2501.  MyAngle.Hours = 45;
  2502.  MyAngle.Minutes = 30;
  2503.  MyAngle.Seconds = 15;
  2504.  </code>
  2505.     </example>
  2506. </member><member name="M:StormSource.Gps.Angle.ToString">
  2507.     <summary>Outputs the decimal degrees using the default format.</summary>
  2508.     <returns>
  2509.         <para>A <strong>String</strong> in the following default format:</para>
  2510.         <table class="codeContainerTable" cellspacing="0" cellpadding="0" border="0">
  2511.             <tr>
  2512.                 <td nowrap="nowrap">
  2513.                     <code>###.#┬░</code>
  2514.                 </td>
  2515.             </tr>
  2516.         </table>
  2517.     </returns>
  2518.     <remarks>
  2519.         This method is typically used to present an angular measurement to a user
  2520.         interface. The resulting <strong>String</strong> can be converted back into an
  2521.         <strong>Angle</strong> via the
  2522.         <see cref="M:StormSource.Gps.Angle.Parse(System.String)">Parse method</see>.
  2523.  </remarks>
  2524.     <seealso cref="M:StormSource.Gps.Angle.Parse(System.String)">Parse Method</seealso>
  2525.     <example>
  2526.      This example outputs a value of 90 degrees in the default format of ###.#┬░.
  2527.  <code lang="VB">
  2528.  Dim MyAngle As New Angle(90)
  2529.  Debug.WriteLine(MyAngle.ToString)
  2530.  ' Output: "90┬░"
  2531.  </code>
  2532.         <code lang="C#">
  2533.  Angle MyAngle = new Angle(90);
  2534.  Debug.WriteLine(MyAngle.ToString());
  2535.  // Output: "90┬░"
  2536.  </code>
  2537.     </example>
  2538. </member><member name="M:StormSource.Gps.Angle.ToString(System.String)">
  2539.     <summary>
  2540.         Outputs the decimal degrees as a culture-specific string in a specific
  2541.         format.
  2542.  </summary>
  2543.     <param name="format">
  2544.         <para>A combination of symbols, spaces, and any of the following case-insensitive
  2545.      letters: <strong>D</strong> or <strong>H</strong> for hours, <strong>M</strong> for
  2546.      minutes, and <strong>S</strong> for seconds. Here are some examples:</para>
  2547.         <para>
  2548.             <table cellspacing="0" cols="3" cellpadding="2" width="100%">
  2549.                 <tr>
  2550.                     <td>hh┬░mm'ss.ss"</td>
  2551.                     <td>hhh.h┬░</td>
  2552.                     <td>hh mm.mm</td>
  2553.                     <td>hhhmmss</td>
  2554.                 </tr>
  2555.             </table>
  2556.         </para>
  2557.     </param>
  2558.     <returns>A <strong>String</strong> in the specified format.</returns>
  2559.     <remarks>
  2560.         <para>This powerful method returns the current angular measurement in a specific
  2561.      format. If no value for the format is specified, a format of
  2562.      <strong>###.#┬░</strong> (adjusted to the machine's local culture) will be used. The
  2563.      resulting <strong>String</strong> can be converted back into an
  2564.      <strong>Angle</strong> via the
  2565.      <see cref="M:StormSource.Gps.Angle.Parse(System.String)">Parse</see> method so long as a delimiter separates each individual
  2566.      value.</para>
  2567.     </remarks>
  2568.     <seealso cref="M:StormSource.Gps.Angle.ToString">ToString Method</seealso>
  2569.     <seealso cref="M:StormSource.Gps.Angle.Parse(System.String)">Parse Method</seealso>
  2570.     <example>
  2571.      This example demonstrates how to output an angle in a custom format.
  2572.  <code lang="VB">
  2573.  Dim MyAngle As New Angle(10, 20, 30)
  2574.  Debug.WriteLine(MyAngle.ToString("dd┬░mm"))
  2575.  ' Output: "10┬░20'"
  2576.  </code>
  2577.         <code lang="C#">
  2578.  Angle MyAngle = new Angle(12, 20, 30);
  2579.  Debug.WriteLine(MyAngle.ToString("dd┬░mm"));
  2580.  // Output: "10┬░20'"
  2581.  </code>
  2582.     </example>
  2583. </member><member name="M:StormSource.Gps.Angle.ToString(System.String,System.IFormatProvider)">
  2584.     <summary>Outputs an angular measurement as a string, using the specified format and 
  2585.  culture.</summary>
  2586.     <param name="formatProvider">
  2587.  Culture information from the <strong>System.Globalization</strong> namespace,
  2588.  typically <strong>CultureInfo.CurrentCulture</strong>.
  2589.  </param>
  2590.     <param name="format">
  2591.         <para>A combination of symbols, spaces, and any of the following letters:</para>
  2592.         <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
  2593.             <para><strong>D</strong> or <strong>H</strong> Decimal degrees</para>
  2594.             <para><strong>M</strong> Decimal minutes</para>
  2595.             <para><strong>S</strong> Decimal seconds</para>
  2596.         </blockquote>
  2597.     </param>
  2598.     <remarks>
  2599.  This powerful method returns the current angular measurement in a specific
  2600.  format. If no value for the format is specified, a default format of "HHH.H┬░" (adjusted
  2601.  to the current culture) will be used. The resulting <strong>String</strong> can be
  2602.  converted back into an <strong>Angle</strong> via the
  2603.  <see cref="M:StormSource.Gps.Angle.Parse(System.String)">Parse</see> method.
  2604.  </remarks>
  2605.     <returns>A <strong>String</strong> designed in the specified format and 
  2606.  culture.</returns>
  2607. </member><member name="M:StormSource.Gps.Angle.SetSexagesimal">
  2608.     <summary>
  2609.  Calculates hours, minutes and seconds based upon the specified decimal degrees.
  2610.  </summary>
  2611.     <remarks>This method is provided for developers writing their own classes based upon the Angle class.  This method is already called automatically by the Angle class and classes which inherit it within the GPS.NET framework.  If, during calculation, a value for minutes or seconds is 60 or above, the hours or minutes properties will be automatically adjusted.</remarks>
  2612.     <seealso cref="M:StormSource.Gps.Angle.SetDecimalDegrees">SetDecimalDegrees Method</seealso>
  2613. </member><member name="M:StormSource.Gps.Angle.ToDecimalDegrees(System.Int32,System.Int32,System.Double)">
  2614.     <summary>Converts arbitrary hour, minute and seconds into decimal degrees.</summary>
  2615.     <returns>
  2616.  A <strong>Double</strong> containing the decimal degree version of the specified
  2617.  values.
  2618.  </returns>
  2619.     <remarks>
  2620.  This function is used to convert three-part measurements into a single value. The
  2621.  result of this method is typically assigned to the
  2622.  <see cref="P:StormSource.Gps.Angle.DecimalDegrees">
  2623.  DecimalDegrees</see> property. The resulting value will be
  2624.  <see cref="M:StormSource.Gps.Angle.Normalize(System.Double)">normalized</see>
  2625.  to be between 0┬░ and 360┬░ if necessary.
  2626.  </remarks>
  2627.     <param name="hours">An <strong>Integer</strong> specifying a number of hours.</param>
  2628.     <param name="minutes">An <strong>Integer</strong> specifying a number of 
  2629.  minutes.</param>
  2630.     <param name="seconds">A <strong>Double</strong> specifying a number of seconds.</param>
  2631.     <seealso cref="P:StormSource.Gps.Angle.DecimalDegrees">DecimalDegrees Property</seealso>
  2632.     <seealso cref="M:StormSource.Gps.Angle.Normalize(System.Double)">Normalize Method</seealso>
  2633.     <example>
  2634.         <code lang="VB" title="ToDecimalDegrees method example" description="This example demonstrates how to combine an hours, minutes and seconds 
  2635.  measurement of 10┬░20'30 into a single decimal value.">
  2636.  
  2637.  Dim MyValue As Double = Angle.ToDecimalDegrees(10, 20, 30)
  2638.  </code>
  2639.     </example>
  2640. </member><member name="M:StormSource.Gps.Angle.SetDecimalDegrees">
  2641.     <summary>
  2642.  Calculates decimal degrees based upon the specified hours, minutes and seconds.
  2643.  </summary>
  2644.     <remarks>This method is provided for developers writing their own classes based upon the Angle class.  This method is already called automatically by the Angle class and classes which inherit it within the GPS.NET framework.</remarks>
  2645.     <seealso cref="M:StormSource.Gps.Angle.SetSexagesimal">SetSexagesimal Method</seealso>
  2646. </member><member name="T:StormSource.Gps.Angle">
  2647.     <summary>Represents an angular measurement between 0┬░ and 360┬░.</summary>
  2648.     <remarks>
  2649.         <para>This class serves as the base class for angular measurement classes within
  2650.                 the framework, such as the
  2651.                 <see cref="T:StormSource.Gps.Azimuth">Azimuth</see>,
  2652.                 <see cref="T:StormSource.Gps.Latitude">Latitude</see>
  2653.                 and
  2654.                 <see cref="T:StormSource.Gps.Longitude">Longitude</see>
  2655.                 classes. An "angular measurement" is a measurement of a circular distance from zero
  2656.                 degrees (0┬░) at the top of a circle, as shown here:
  2657.             </para>
  2658.         <para>
  2659.             <img src="Angle.jpg"/>
  2660.         </para>
  2661.         <para>Angular measurements are made from the current location. Using the above
  2662.      example, if a GPS satellite is located to the northeast from your present location,
  2663.      you would store that measurement as an angular measurement of forty-five degrees
  2664.      (45┬░).</para>
  2665.     </remarks>
  2666.     <seealso cref="T:StormSource.Gps.Azimuth">Azimuth Class</seealso>
  2667.     <seealso cref="T:StormSource.Gps.Latitude">Latitude Class</seealso>
  2668.     <seealso cref="T:StormSource.Gps.Longitude">Longitude Class</seealso>
  2669.     <example>
  2670.      This example creates a new angle and changes it to represent 90┬░. 
  2671.      
  2672.         <code lang="VB">
  2673.  Dim MyAngle1 As New Angle(90)
  2674.  </code>
  2675.         <code lang="C#">
  2676.  Angle MyAngle1 = new Angle(90);
  2677.  </code>
  2678.  This example also creates an angle of 90┬░ using other techniques:
  2679.  <code lang="VB">
  2680.  Dim MyAngle2 As New Angle()
  2681.  MyAngle2.DecimalDegrees = 90.0
  2682.  </code>
  2683.         <code lang="C#">
  2684.  Angle MyAngle2 = new Angle;
  2685.  MyAngle2.DecimalDegrees = 90.0;
  2686.  </code>
  2687.  This next example creates a new angle of 105 hours, 30 minutes and 21.4 
  2688.  seconds (105┬░31'21.4). 
  2689.     <code lang="VB">
  2690.  Dim MyAngle1 As New Angle(105, 30, 21.4)
  2691.  </code>
  2692.         <code lang="C#">
  2693.  Angle MyAngle = new Angle(105, 30, 21.4)
  2694.  </code>
  2695.  This example creates the same angle by setting properties individually.
  2696.  <code lang="VB">
  2697.  Dim MyAngle As New Angle()
  2698.  MyAngle.Hours = 105
  2699.  MyAngle.Minutes = 30
  2700.  MyAngle.Seconds = 21.4
  2701.     </code>
  2702.         <code lang="C#">
  2703.  Angle MyAngle = new Angle();
  2704.  MyAngle.Hours = 105;
  2705.  MyAngle.Minutes = 30;
  2706.  MyAngle.Seconds = 21.4;
  2707.     </code>
  2708.     </example>
  2709. </member><member name="T:StormSource.Gps.AngleEventHandler">
  2710.     <summary>
  2711.  Facilitates events and asynchronous calls which use an <strong>Angle</strong>
  2712.  object as a parameter.
  2713.  </summary>
  2714.     <remarks>
  2715.  See the
  2716.  <see cref="T:StormSource.Gps.Angle">Angle</see>
  2717.  class for more information on events using angles.
  2718.  </remarks>
  2719.     <param name="sender">The object which initiated the call to the delegate.</param>
  2720.     <param name="e">An <see cref="T:StormSource.Gps.AngleEventArgs">AngleEventArgs</see> object containing an <see cref="T:StormSource.Gps.Angle">Angle</see> involved in the event.
  2721.  </param>
  2722.     <example>
  2723.  This example declares a custom event using this delegate.
  2724.  <code lang="VB">
  2725.  Dim MyAngleEvent As AngleEventHandler
  2726.  </code>
  2727.         <code lang="C#">
  2728.  AngleEventHandler MyAngleEvent;
  2729.  </code>
  2730.     </example>
  2731.     <seealso cref="T:StormSource.Gps.AngleEventArgs">AngleEventArgs Class</seealso>
  2732.     <seealso cref="T:StormSource.Gps.Angle">Angle Class</seealso>
  2733. </member><member name="T:StormSource.Gps.AzimuthEventHandler">
  2734.     <summary>
  2735.  Facilitates events and asynchronous calls which use an <strong>Azimuth</strong>
  2736.  object as a parameter.
  2737.  </summary>
  2738.     <param name="sender">The object which initiated the call to the delegate.</param>
  2739.     <param name="e">
  2740.  An <see cref="T:StormSource.Gps.AzimuthEventArgs">AzimuthEventArgs</see> object containing an <see cref="T:StormSource.Gps.Azimuth">Azimuth</see> involved in the event.
  2741.  </param>
  2742.     <example>
  2743.  This example declares a custom event using this delegate.
  2744.  <code lang="VB">
  2745.  Dim MyAzimuthEvent As AzimuthEventHandler
  2746.  </code>
  2747.         <code lang="C#">
  2748.  AzimuthEventHandler MyAzimuthEvent;
  2749.  </code>
  2750.     </example>
  2751.     <seealso cref="T:StormSource.Gps.AzimuthEventArgs">AzimuthEventArgs Class</seealso>
  2752.     <seealso cref="T:StormSource.Gps.Azimuth">Azimuth Class</seealso>
  2753. </member><member name="T:StormSource.Gps.CrossTrackErrorEventHandler">
  2754.     <summary>
  2755.  Facilitates events and asynchronous calls which use an <strong>Azimuth</strong>
  2756.  object as a parameter.
  2757.  </summary>
  2758.     <param name="sender">The object which initiated the call to the delegate.</param>
  2759.     <param name="e">
  2760.  An <see cref="T:StormSource.Gps.CrossTrackErrorEventArgs">CrossTrackErrorEventArgs</see> object containing a <see cref="T:StormSource.Gps.CrossTrackError">CrossTrackError</see> involved in the event.
  2761.  </param>
  2762.     <example>
  2763.  This example declares a custom event using this delegate.
  2764.  <code lang="VB">
  2765.  Dim MyCrossTrackErrorEvent As CrossTrackErrorEventHandler
  2766.  </code>
  2767.         <code lang="C#">
  2768.  CrossTrackErrorEventHandler MyCrossTrackErrorEvent;
  2769.  </code>
  2770.     </example>
  2771.     <seealso cref="T:StormSource.Gps.CrossTrackErrorEventArgs">CrossTrackErrorEventArgs Class</seealso>
  2772.     <seealso cref="T:StormSource.Gps.CrossTrackError">CrossTrackError Class</seealso>
  2773. </member><member name="T:StormSource.Gps.DateTimeEventHandler">
  2774.     <summary>
  2775.  Facilitates events and asynchronous calls which use a <strong>DateTime</strong>
  2776.  object as a parameter.
  2777.  </summary>
  2778.     <example>
  2779.  This example declares a custom event using this delegate.
  2780.  <code lang="VB">
  2781.  Dim MyDateTimeEvent As DateTimeEventHandler
  2782.  </code>
  2783.         <code lang="C#">
  2784.  DateTimeEventHandler MyDateTimeEvent;
  2785.  </code>
  2786.     </example>
  2787.     <param name="sender">The object which initiated the call to the delegate.</param>
  2788.     <param name="e">A <see cref="T:StormSource.Gps.DateTimeEventArgs">DateTimeEventArgs</see> object containing an <see cref="T:System.DateTime">DateTime</see> involved in the event.</param>
  2789. </member><member name="T:StormSource.Gps.DeviceEventHandler">
  2790.     <summary>
  2791.  Facilitates events and asynchronous calls which use a <strong>Device</strong>
  2792.  object as a parameter.
  2793.  </summary>
  2794.     <example>
  2795.  This example declares a custom event using this delegate.
  2796.  <code lang="VB">
  2797.  Dim MyDeviceEvent As DeviceEventHandler
  2798.  </code>
  2799.         <code lang="C#">
  2800.  DeviceEventHandler MyDeviceEvent;
  2801.  </code>
  2802.     </example>
  2803.     <param name="sender">The object which initiated the call to the delegate.</param>
  2804.     <param name="e">A <see cref="T:StormSource.Gps.DeviceEventArgs">DeviceEventArgs</see> object containing an <see cref="T:StormSource.Gps.Device">Device</see> involved in the event.</param>
  2805. </member><member name="T:StormSource.Gps.DifferentialGpsEventHandler">
  2806.     <summary>
  2807.  Facilitates events and asynchronous calls which use a
  2808.  <strong>DifferentialGps</strong> object as a parameter.
  2809.  </summary>
  2810.     <example>
  2811.  This example declares a custom event using this delegate.
  2812.  <code lang="VB">
  2813.  Dim MyDifferentialGpsEvent As DifferentialGpsEventHandler
  2814.  </code>
  2815.         <code lang="C#">
  2816.  DifferentialGpsEventHandler MyDifferentialGpsEvent;
  2817.  </code>
  2818.     </example>
  2819.     <param name="sender">The object which initiated the call to the delegate.</param>
  2820.     <param name="e">A <see cref="T:StormSource.Gps.DifferentialGpsEventArgs">DifferentialGpsEventArgs</see> object containing a <see cref="T:StormSource.Gps.DifferentialGps">DifferentialGps</see> involved in the event.</param>
  2821. </member><member name="T:StormSource.Gps.DilutionOfPrecisionEventHandler">
  2822.     <summary>
  2823.  Facilitates events and asynchronous calls which use an
  2824.  <strong>DilutionOfPrecision</strong> object as a parameter.
  2825.  </summary>
  2826.     <example>
  2827.  This example declares a custom event using this delegate.
  2828.  <code lang="VB">
  2829.  Dim MyDilutionOfPRecisionEvent As DilutionOfPRecisionEventHandler
  2830.  </code>
  2831.         <code lang="C#">
  2832.  DilutionOfPRecisionEventHandler MyDilutionOfPRecisionEvent;
  2833.  </code>
  2834.     </example>
  2835.     <param name="sender">The object which initiated the call to the delegate.</param>
  2836.     <param name="e">A <see cref="T:StormSource.Gps.DilutionOfPrecisionEventArgs">DilutionOfPrecisionEventArgs</see> object containing a <see cref="T:StormSource.Gps.DilutionOfPrecision">DilutionOfPrecision</see> involved in the event.</param>
  2837. </member><member name="T:StormSource.Gps.DistanceEventHandler">
  2838.     <summary>
  2839.  Facilitates events and asynchronous calls which use an <strong>Distance</strong>
  2840.  object as a parameter.
  2841.  </summary>
  2842.     <example>
  2843.  This example declares a custom event using this delegate.
  2844.  <code lang="VB">
  2845.  Dim MyDistanceEvent As DistanceEventHandler
  2846.  </code>
  2847.         <code lang="C#">
  2848.  DistanceEventHandler MyDistanceEvent;
  2849.  </code>
  2850.     </example>
  2851.     <param name="sender">The object which initiated the call to the delegate.</param>
  2852.     <param name="e">A <see cref="T:StormSource.Gps.DistanceEventArgs">DistanceEventArgs</see> object containing a <see cref="T:StormSource.Gps.Distance">Distance</see> involved in the event.</param>
  2853. </member><member name="T:StormSource.Gps.ErrorEventHandler">
  2854.     <summary>
  2855.  Facilitates events and asynchronous calls which use a
  2856.  <strong>GpsException</strong> object as a parameter.
  2857.  </summary>
  2858.     <example>
  2859.  This example declares a custom event using this delegate.
  2860.  <code lang="VB">
  2861.  Dim MyErrorEvent As ErrorEventHandler
  2862.  </code>
  2863.         <code lang="C#">
  2864.  ErrorEventHandler MyErrorEvent;
  2865.  </code>
  2866.     </example>
  2867.     <param name="sender">The object which initiated the call to the delegate.</param>
  2868.     <param name="e">A <see cref="T:StormSource.Gps.ErrorEventArgs">ErrorEventArgs</see> object containing a <see cref="T:StormSource.Gps.GpsException">GpsException</see> involved in the event.</param>
  2869. </member><member name="T:StormSource.Gps.FixMethodEventHandler">
  2870.     <summary>
  2871.  Facilitates events and asynchronous calls which use a <strong>FixMethod</strong>
  2872.  value as a parameter.
  2873.  </summary>
  2874.     <example>
  2875.  This example declares a custom event using this delegate.
  2876.  <code lang="VB">
  2877.  Dim MyFixMethodEvent As FixMethodEventHandler
  2878.  </code>
  2879.         <code lang="C#">
  2880.  FixMethodEventHandler MyFixMethodEvent;
  2881.  </code>
  2882.     </example>
  2883.     <param name="sender">The object which initiated the call to the delegate.</param>
  2884.     <param name="e">A <see cref="T:StormSource.Gps.FixMethodEventArgs">FixMethodEventArgs</see> object containing a <see cref="T:StormSource.Gps.FixMethod">FixMethod</see> value involved in the event.</param>
  2885. </member><member name="T:StormSource.Gps.FixLikelihoodEventHandler">
  2886.     <summary>
  2887.  Facilitates events and asynchronous calls which use a <strong>FixLikelihood</strong>
  2888.  value as a parameter.
  2889.  </summary>
  2890.     <example>
  2891.  This example declares a custom event using this delegate.
  2892.  <code lang="VB">
  2893.  Dim MyFixLikelihoodEvent As FixLikelihoodEventHandler
  2894.  </code>
  2895.         <code lang="C#">
  2896.  FixLikelihoodEventHandler MyFixLikelihoodEvent;
  2897.  </code>
  2898.     </example>
  2899.     <param name="sender">The object which initiated the call to the delegate.</param>
  2900.     <param name="e">A <see cref="T:StormSource.Gps.FixLikelihoodEventArgs">FixLikelihoodEventArgs</see> object containing a <see cref="T:StormSource.Gps.FixLikelihood">FixLikelihood</see> value involved in the event.</param>
  2901. </member><member name="T:StormSource.Gps.FixModeEventHandler">
  2902.     <summary>
  2903.  Facilitates events and asynchronous calls which use an <strong>FixMode</strong>
  2904.  value as a parameter.
  2905.  </summary>
  2906.     <example>
  2907.  This example declares a custom event using this delegate.
  2908.  <code lang="VB">
  2909.  Dim MyFixModeEvent As FixModeEventHandler
  2910.  </code>
  2911.         <code lang="C#">
  2912.  FixModeEventHandler MyFixModeEvent;
  2913.  </code>
  2914.     </example>
  2915.     <param name="sender">The object which initiated the call to the delegate.</param>
  2916.     <param name="e">A <see cref="T:StormSource.Gps.FixModeEventArgs">FixModeEventArgs</see> object containing a <see cref="T:StormSource.Gps.FixMode">FixMode</see> value involved in the event.</param>
  2917. </member><member name="T:StormSource.Gps.FixQualityEventHandler">
  2918.     <summary>
  2919.  Facilitates events and asynchronous calls which use an
  2920.  <strong>FixQuality</strong> value as a parameter.
  2921.  </summary>
  2922.     <example>
  2923.  This example declares a custom event using this delegate.
  2924.  <code lang="VB">
  2925.  Dim MyFixQualityEvent As FixQualityEventHandler
  2926.  </code>
  2927.         <code lang="C#">
  2928.  FixQualityEventHandler MyFixQualityEvent;
  2929.  </code>
  2930.     </example>
  2931.     <param name="sender">The object which initiated the call to the delegate.</param>
  2932.     <param name="e">A <see cref="T:StormSource.Gps.FixQualityEventArgs">FixQualityEventArgs</see> object containing a <see cref="T:StormSource.Gps.FixQuality">FixQuality</see> value involved in the event.</param>
  2933. </member><member name="T:StormSource.Gps.LatitudeEventHandler">
  2934.     <summary>
  2935.  Facilitates events and asynchronous calls which use an <strong>Latitude</strong>
  2936.  object as a parameter.
  2937.  </summary>
  2938.     <example>
  2939.  This example declares a custom event using this delegate.
  2940.  <code lang="VB">
  2941.  Dim MyLatitudeEvent As LatitudeEventHandler
  2942.  </code>
  2943.         <code lang="C#">
  2944.  LatitudeEventHandler MyLatitudeEvent;
  2945.  </code>
  2946.     </example>
  2947.     <param name="sender">The object which initiated the call to the delegate.</param>
  2948.     <param name="e">A <see cref="T:StormSource.Gps.LatitudeEventArgs">LatitudeEventArgs</see> object containing a <see cref="T:StormSource.Gps.Latitude">Latitude</see> object involved in the event.</param>
  2949. </member><member name="T:StormSource.Gps.LongitudeEventHandler">
  2950.     <summary>
  2951.  Facilitates events and asynchronous calls which use an <strong>Longitude</strong>
  2952.  object as a parameter.
  2953.  </summary>
  2954.     <example>
  2955.  This example declares a custom event using this delegate.
  2956.  <code lang="VB">
  2957.  Dim MyLongitudeEvent As LongitudeEventHandler
  2958.  </code>
  2959.         <code lang="C#">
  2960.  LongitudeEventHandler MyLongitudeEvent;
  2961.  </code>
  2962.     </example>
  2963.     <param name="sender">The object which initiated the call to the delegate.</param>
  2964.     <param name="e">A <see cref="T:StormSource.Gps.LongitudeEventArgs">LongitudeEventArgs</see> object containing a <see cref="T:StormSource.Gps.Longitude">Longitude</see> object involved in the event.</param>
  2965. </member><member name="T:StormSource.Gps.ParsingErrorEventHandler">
  2966.     <summary>
  2967.  Facilitates events and asynchronous calls which use an
  2968.  <strong>ParsingException</strong> object as a parameter.
  2969.  </summary>
  2970.     <example>
  2971.  This example declares a custom event using this delegate.
  2972.  <code lang="VB">
  2973.  Dim MyParsingErrorEvent As ParsingErrorEventHandler
  2974.  </code>
  2975.         <code lang="C#">
  2976.  ParsingErrorEventHandler MyParsingErrorEvent;
  2977.  </code>
  2978.     </example>
  2979.     <param name="sender">The object which initiated the call to the delegate.</param>
  2980.     <param name="e">A <see cref="T:StormSource.Gps.ParsingErrorEventArgs">ParsingErrorEventArgs</see> object containing a <see cref="T:StormSource.Gps.ParsingException">ParsingException</see> object involved in the event.</param>
  2981. </member><member name="T:StormSource.Gps.PositionEventHandler">
  2982.     <summary>
  2983.  Facilitates events and asynchronous calls which use an <strong>Position</strong>
  2984.  object as a parameter.
  2985.  </summary>
  2986.     <example>
  2987.  This example declares a custom event using this delegate.
  2988.  <code lang="VB">
  2989.  Dim MyPositionEvent As PositionEventHandler
  2990.  </code>
  2991.         <code lang="C#">
  2992.  PositionEventHandler MyPositionEvent;
  2993.  </code>
  2994.     </example>
  2995.     <param name="e">A <see cref="T:StormSource.Gps.PositionEventArgs">PositionEventArgs</see> object containing a <see cref="T:StormSource.Gps.Position">Position</see> object involved in the event.</param>
  2996.     <param name="sender">The object which initiated the call to the delegate.</param>
  2997. </member><member name="T:StormSource.Gps.PositionErrorEventHandler">
  2998.     <summary>
  2999.  Facilitates events and asynchronous calls which use an
  3000.  <strong>PositionError</strong> object as a parameter.
  3001.  </summary>
  3002.     <example>
  3003.  This example declares a custom event using this delegate.
  3004.  <code lang="VB">
  3005.  Dim MyPositionErrorEvent As PositionErrorEventHandler
  3006.  </code>
  3007.         <code lang="C#">
  3008.  PositionErrorEventHandler MyPositionErrorEvent;
  3009.  </code>
  3010.     </example>
  3011.     <param name="e">A <see cref="T:StormSource.Gps.PositionErrorEventArgs">PositionErrorEventArgs</see> object containing a <see cref="T:StormSource.Gps.PositionError">PositionError</see> object involved in the event.</param>
  3012.     <param name="sender">The object which initiated the call to the delegate.</param>
  3013. </member><member name="T:StormSource.Gps.ProgressEventHandler">
  3014.     <summary>
  3015.  Facilitates events and asynchronous calls which report updates during an
  3016.  iterative task.
  3017.  </summary>
  3018.     <example>
  3019.  This example declares a custom event using this delegate.
  3020.  <code lang="VB">
  3021.  Dim MyProgressEvent As ProgressEventHandler
  3022.  </code>
  3023.         <code lang="C#">
  3024.  ProgressEventHandler MyProgressEvent;
  3025.  </code>
  3026.     </example>
  3027.     <param name="e">A <see cref="T:StormSource.Gps.ProgressEventArgs">ProgressEventArgs</see> object containing information describing the minimum, maximum and value for a <see cref="T:System.Windows.Forms.ProgressBar">ProgressBar</see> control.</param>
  3028.     <param name="sender">The object which initiated the call to the delegate.</param>
  3029. </member><member name="T:StormSource.Gps.RadianEventHandler">
  3030.     <summary>
  3031.  Facilitates events and asynchronous calls which use an <strong>Radian</strong>
  3032.  object as a parameter.
  3033.  </summary>
  3034.     <example>
  3035.  This example declares a custom event using this delegate.
  3036.  <code lang="VB">
  3037.  Dim MyRadianEvent As RadianEventHandler
  3038.  </code>
  3039.         <code lang="C#">
  3040.  RadianEventHandler MyRadianEvent;
  3041.  </code>
  3042.     </example>
  3043.     <param name="e">A <see cref="T:StormSource.Gps.RadianEventArgs">RadianEventArgs</see> object containing a <see cref="T:StormSource.Gps.Radian">Radian</see> object involved with the event.</param>
  3044.     <param name="sender">The object which initiated the call to the delegate.</param>
  3045. </member><member name="T:StormSource.Gps.RecommendedSteeringDirectionEventHandler">
  3046.     <summary>
  3047.  Facilitates events and asynchronous calls which use an
  3048.  <strong>RecommendedSteeringDirection</strong> object as a parameter.
  3049.  </summary>
  3050.     <example>
  3051.  This example declares a custom event using this delegate.
  3052.  <code lang="VB">
  3053.  Dim MyRecommendedSteeringDirectionEvent As RecommendedSteeringDirectionEventHandler
  3054.  </code>
  3055.         <code lang="C#">
  3056.  RecommendedSteeringDirectionEventHandler MyRecommendedSteeringDirectionEvent;
  3057.  </code>
  3058.     </example>
  3059.     <param name="e">A <see cref="T:StormSource.Gps.DifferentialGpsEventArgs">DifferentialGpsEventArgs</see> object containing a <see cref="T:StormSource.Gps.RecommendedSteeringDirection">RecommendedSteeringDirection</see> value involved with the event.</param>
  3060.     <param name="sender">The object which initiated the call to the delegate.</param>
  3061. </member><member name="T:StormSource.Gps.SatelliteCountEventHandler">
  3062.     <summary>
  3063.  Facilitates events and asynchronous calls which use a satellite-count-related
  3064.  <strong>Integer</strong> as a parameter.
  3065.  </summary>
  3066.     <example>
  3067.  This example declares a custom event using this delegate.
  3068.  <code lang="VB">
  3069.  Dim MySatelliteCountEvent As SatelliteCountEventHandler
  3070.  </code>
  3071.         <code lang="C#">
  3072.  SatelliteCountEventHandler MySatelliteCountEvent;
  3073.  </code>
  3074.     </example>
  3075.     <param name="e">A <see cref="T:StormSource.Gps.SatelliteCountEventArgs">SatelliteCountEventArgs</see> object containing information about satellite count statistics.</param>
  3076.     <param name="sender">The object which initiated the call to the delegate.</param>
  3077. </member><member name="T:StormSource.Gps.SatelliteEventHandler">
  3078.     <summary>
  3079.  Facilitates events and asynchronous calls which use an <strong>Satellite</strong>
  3080.  object as a parameter.
  3081.  </summary>
  3082.     <example>
  3083.  This example declares a custom event using this delegate.
  3084.  <code lang="VB">
  3085.  Dim MySatelliteEvent As SatelliteEventHandler
  3086.  </code>
  3087.         <code lang="C#">
  3088.  SatelliteEventHandler MySatelliteEvent;
  3089.  </code>
  3090.     </example>
  3091.     <param name="e">A <see cref="T:StormSource.Gps.SatelliteEventArgs">SatelliteEventArgs</see> object containing a <see cref="T:StormSource.Gps.Satellite">Satellite</see> object involved with the event.</param>
  3092.     <param name="sender">The object which initiated the call to the delegate.</param>
  3093. </member><member name="T:StormSource.Gps.SentenceEventHandler">
  3094.     <summary>
  3095.  Facilitates events and asynchronous calls which use a sentence-related
  3096.  <strong>String</strong> as a parameter.
  3097.  </summary>
  3098.     <example>
  3099.  This example declares a custom event using this delegate.
  3100.  <code lang="VB">
  3101.  Dim MySentenceEvent As SentenceEventHandler
  3102.  </code>
  3103.         <code lang="C#">
  3104.  SentenceEventHandler MySentenceEvent;
  3105.  </code>
  3106.     </example>
  3107.     <param name="e">A <see cref="T:StormSource.Gps.SentenceEventArgs">SentenceEventArgs</see> object containing raw, unmodified GPS data.</param>
  3108.     <param name="sender">The object which initiated the call to the delegate.</param>
  3109. </member><member name="T:StormSource.Gps.SignalToNoiseRatioEventHandler">
  3110.     <summary>
  3111.  Facilitates events and asynchronous calls which use an
  3112.  <strong>SignalToNoiseRatio</strong> object as a parameter.
  3113.  </summary>
  3114.     <example>
  3115.  This example declares a custom event using this delegate.
  3116.  <code lang="VB">
  3117.  Dim MySignalToNoiseRatioEvent As SignalToNoiseRatioEventHandler
  3118.  </code>
  3119.         <code lang="C#">
  3120.  SignalToNoiseRatioEventHandler MySignalToNoiseRatioEvent;
  3121.  </code>
  3122.     </example>
  3123.     <param name="e">A <see cref="T:StormSource.Gps.SignalToNoiseRatioEventArgs">SignalToNoiseRatioEventArgs</see> object containing a <see cref="T:StormSource.Gps.SignalToNoiseRatio">SignalToNoiseRatio</see> object involved with the event.</param>
  3124.     <param name="sender">The object which initiated the call to the delegate.</param>
  3125. </member><member name="T:StormSource.Gps.SpeedEventHandler">
  3126.     <summary>
  3127.  Facilitates events and asynchronous calls which use an <strong>Speed</strong>
  3128.  object as a parameter.
  3129.  </summary>
  3130.     <example>
  3131.  This example declares a custom event using this delegate.
  3132.  <code lang="VB">
  3133.  Dim MySpeedEvent As SpeedEventHandler
  3134.  </code>
  3135.         <code lang="C#">
  3136.  SpeedEventHandler MySpeedEvent;
  3137.  </code>
  3138.     </example>
  3139.     <param name="e">A <see cref="T:StormSource.Gps.SpeedEventArgs">SpeedEventArgs</see> object containing a <see cref="T:StormSource.Gps.Speed">Speed</see> object involved with the event.</param>
  3140.     <param name="sender">The object which initiated the call to the delegate.</param>
  3141. </member><member name="T:StormSource.Gps.TimeSpanEventHandler">
  3142.     <summary>
  3143.  Facilitates events and asynchronous calls which use an <strong>TimeSpan</strong>
  3144.  object as a parameter.
  3145.  </summary>
  3146.     <example>
  3147.  This example declares a custom event using this delegate.
  3148.  <code lang="VB">
  3149.  Dim MyTimeSpanEvent As TimeSpanEventHandler
  3150.  </code>
  3151.         <code lang="C#">
  3152.  TimeSpanEventHandler MyTimeSpanEvent;
  3153.  </code>
  3154.     </example>
  3155.     <param name="e">A <see cref="T:StormSource.Gps.TimeSpanEventArgs">TimeSpanEventArgs</see> object containing a <see cref="T:System.TimeSpan">TimeSpan</see> object involved with the event.</param>
  3156.     <param name="sender">The object which initiated the call to the delegate.</param>
  3157. </member><member name="T:StormSource.Gps.UtmPositionEventHandler">
  3158.     <summary>
  3159.  Facilitates events and asynchronous calls which use an
  3160.  <strong>UtmPosition</strong> object as a parameter.
  3161.  </summary>
  3162.     <example>
  3163.  This example declares a custom event using this delegate.
  3164.  <code lang="VB">
  3165.  Dim MyUtmPositionEvent As UtmPositionEventHandler
  3166.  </code>
  3167.         <code lang="C#">
  3168.  UtmPositionEventHandler MyUtmPositionEvent;
  3169.  </code>
  3170.     </example>
  3171.     <param name="e">A <see cref="T:StormSource.Gps.UtmPositionEventArgs">UtmPositionEventArgs</see> object containing a <see cref="T:StormSource.Gps.UtmPosition">UtmPosition</see> object involved with the event.</param>
  3172.     <param name="sender">The object which initiated the call to the delegate.</param>
  3173. </member><member name="T:StormSource.Gps.WaypointEventHandler">
  3174.     <summary>
  3175.  Facilitates events and asynchronous calls which use an <strong>Waypoint</strong>
  3176.  object as a parameter.
  3177.  </summary>
  3178.     <example>
  3179.  This example declares a custom event using this delegate.
  3180.  <code lang="VB">
  3181.  Dim MyWaypointEvent As WaypointEventHandler
  3182.  </code>
  3183.         <code lang="C#">
  3184.  WaypointEventHandler MyWaypointEvent;
  3185.  </code>
  3186.     </example>
  3187.     <param name="e">A <see cref="T:StormSource.Gps.WaypointEventArgs">WaypointEventArgs</see> object containing a <see cref="T:StormSource.Gps.Waypoint">Waypoint</see> object involved with the event.</param>
  3188.     <param name="sender">The object which initiated the call to the delegate.</param>
  3189. </member><member name="M:StormSource.Gps.AngleEventArgs.#ctor(StormSource.Gps.Angle)">
  3190.     <summary>
  3191.  Creates a new instance containing the specified Angle object.
  3192.  </summary>
  3193. </member><member name="P:StormSource.Gps.AngleEventArgs.Angle">
  3194.     <summary>
  3195.  Represents information about an angular measurement when an angle-related event is raised.
  3196.  </summary>
  3197.     <value>An <strong>Angle</strong> object containing a property which has changed.</value>
  3198.     <remarks>This class is used by the <see cref="P:StormSource.Gps.AngleEventArgs.Angle">Angle</see> class to provide notification when hours, minutes, or seconds properties have changed.</remarks>
  3199.     <seealso cref="P:StormSource.Gps.AngleEventArgs.Angle">Angle Class</seealso>
  3200. </member><member name="T:StormSource.Gps.AngleEventArgs">
  3201.     <summary>Represents information about an angle when an angle-related event is raised.</summary>
  3202.     <remarks>This class is typically used for events in the <see cref="T:StormSource.Gps.Angle">Angle</see> class to provide notification when hours, minutes, decimal minutes or seconds properties have changed.</remarks>
  3203.     <example>This example demonstrates how to use this class when raising an event.
  3204.  <code lang="VB">
  3205.  ' Declare a new event
  3206.  Dim MyAngleEvent As AngleEventHandler
  3207.  ' Create an angle of 90┬░
  3208.  Dim MyAngle As New Angle(90)
  3209.  
  3210.  Sub Main() 
  3211.    ' Raise our custom event
  3212.    RaiseEvent MyAngleEvent(Me, New AngleEventArgs(MyAngle))
  3213.  End Sub
  3214.  </code>
  3215.         <code lang="C#">
  3216.  // Declare a new event
  3217.  AngleEventHandler MyAngleEvent;
  3218.  // Create an angle of 90┬░
  3219.  Angle MyAngle = new Angle(90);
  3220.  
  3221.  void Main()
  3222.  {
  3223.    // Raise our custom event
  3224.    MyAngleEvent(this, New AngleEventArgs(MyAngle));
  3225.  }
  3226.  </code>
  3227.     </example>
  3228.     <seealso cref="T:StormSource.Gps.Angle">Angle Class</seealso>
  3229.     <seealso cref="T:StormSource.Gps.AngleEventHandler">AngleEventHandler Delegate</seealso>
  3230. </member><member name="M:StormSource.Gps.AzimuthEventArgs.#ctor(StormSource.Gps.Azimuth)">
  3231.     <summary>
  3232.  Creates a new instance containing the specified Azimuth object.
  3233.  </summary>
  3234.     <param name="Azimuth">An Azimuth object to use in an Azimuth-related event.</param>
  3235. </member><member name="P:StormSource.Gps.AzimuthEventArgs.Azimuth">
  3236.     <summary>
  3237.  Represents information about an angle around the horizon when an azimuth-related event is raised.
  3238.  </summary>
  3239.     <value>An <strong>Azimuth</strong> object containing a property which has changed.</value>
  3240.     <remarks>This class is used by the <see cref="P:StormSource.Gps.AzimuthEventArgs.Azimuth">Azimuth</see> class to provide notification when hours, minutes, or seconds properties have changed.</remarks>
  3241.     <seealso cref="P:StormSource.Gps.AzimuthEventArgs.Azimuth">Azimuth Class</seealso>
  3242. </member><member name="T:StormSource.Gps.AzimuthEventArgs">
  3243.     <summary>Represents information about an azimuth when an azimuth-related event is raised.</summary>
  3244.     <remarks>This class is typically used for events in the <see cref="T:StormSource.Gps.Azimuth">Azimuth</see> class to provide notification when hours, minutes, decimal minutes or seconds properties have changed.</remarks>
  3245.     <example>This example demonstrates how to use this class when raising an event.
  3246.  <code lang="VB">
  3247.  ' Declare a new event
  3248.  Dim MyAzimuthEvent As AzimuthEventHandler
  3249.  ' Create an Azimuth of 90┬░
  3250.  Dim MyAzimuth As New Azimuth(90)
  3251.  
  3252.  Sub Main()
  3253.    ' Raise our custom event
  3254.    RaiseEvent MyAzimuthEvent(Me, New AzimuthEventArgs(MyAzimuth))
  3255.  End Sub
  3256.  </code>
  3257.         <code lang="C#">
  3258.  // Declare a new event
  3259.  AzimuthEventHandler MyAzimuthEvent;
  3260.  // Create an Azimuth of 90┬░
  3261.  Azimuth MyAzimuth = new Azimuth(90);
  3262.  
  3263.  void Main()
  3264.  {
  3265.    // Raise our custom event
  3266.    MyAzimuthEvent(this, New AzimuthEventArgs(MyAzimuth));
  3267.  }
  3268.  </code>
  3269.     </example>
  3270.     <seealso cref="T:StormSource.Gps.Azimuth">Azimuth Class</seealso>
  3271.     <seealso cref="T:StormSource.Gps.AzimuthEventHandler">AzimuthEventHandler Delegate</seealso>
  3272. </member><member name="M:StormSource.Gps.DifferentialGpsEventArgs.#ctor(StormSource.Gps.DifferentialGps)">
  3273.     <summary>
  3274.  Creates a new instance.
  3275.  </summary>
  3276.     <param name="differentialGps">Differential GPS information provided by a DGPS/WAAS ground station.</param>
  3277. </member><member name="P:StormSource.Gps.DifferentialGpsEventArgs.DifferentialGps">
  3278.     <summary>
  3279.  Represents differential GPS information used during a DGPS/WAAS-related event.
  3280.  </summary>
  3281.     <value></value>
  3282. </member><member name="T:StormSource.Gps.DifferentialGpsEventArgs">
  3283.     <summary>
  3284.  Represents information about DGPS/WAAS when a DGPA/WAAS event is raised.
  3285.  </summary>
  3286.     <remarks>This object is used primarily by the <see cref="T:StormSource.Gps.DifferentialGps">DifferentialGps</see>
  3287.  class to provide notification when new DGPS/WAAS corrective information has been processed
  3288.  by the GPS device.</remarks>
  3289.     <example>This example demonstrates how to use this class when raising an event.
  3290.  <code lang="VB">
  3291.  ' Declare a new event
  3292.  Dim MyDifferentialGpsEvent As DifferentialGpsEventHandler
  3293.  ' Create an DifferentialGps of 90┬░
  3294.  Dim MyDifferentialGps As New DifferentialGps(90)
  3295.  
  3296.  Sub Main()
  3297.    ' Raise our custom event
  3298.    RaiseEvent MyDifferentialGpsEvent(Me, New DifferentialGpsEventArgs(MyDifferentialGps))
  3299.  End Sub
  3300.  </code>
  3301.         <code lang="C#">
  3302.  // Declare a new event
  3303.  DifferentialGpsEventHandler MyDifferentialGpsEvent;
  3304.  // Create an DifferentialGps of 90┬░
  3305.  DifferentialGps MyDifferentialGps = new DifferentialGps(90);
  3306.  
  3307.  void Main()
  3308.  {
  3309.    // Raise our custom event
  3310.    MyDifferentialGpsEvent(this, New DifferentialGpsEventArgs(MyDifferentialGps));
  3311.  }
  3312.  </code>
  3313.     </example>
  3314.     <seealso cref="P:StormSource.Gps.Receiver.DifferentialGps">DifferentialGps Property (Receiver Class)</seealso>
  3315.     <seealso cref="T:StormSource.Gps.DifferentialGps">DifferentialGps Class</seealso>
  3316. </member><member name="M:StormSource.Gps.CrossTrackErrorEventArgs.#ctor(StormSource.Gps.CrossTrackError)">
  3317.     <summary>
  3318.  Creates a new instance with the specified cross-track error measurement.
  3319.  </summary>
  3320.     <param name="CrossTrackError">A <strong>CrossTrackError</strong> object describing the distance off-course and recommended steering direction to get back on course.</param>
  3321. </member><member name="P:StormSource.Gps.CrossTrackErrorEventArgs.CrossTrackError">
  3322.     <summary>
  3323.  Represents cross-track error information used during a cross-track-error related event.
  3324.  </summary>
  3325.     <value>A <strong>CrossTrackError</strong> object.</value>
  3326. </member><member name="T:StormSource.Gps.CrossTrackErrorEventArgs">
  3327.     <summary>
  3328.  Represents information about cross-track error when a cross-track-error related event is raised.
  3329.  </summary>
  3330.     <remarks>This object is used primarily by the <see cref="T:StormSource.Gps.CrossTrackError">CrossTrackError</see>
  3331.  class to provide notification when updated cross-track error information has been received
  3332.  from the GPS device.</remarks>
  3333.     <example>This example demonstrates how to use this class when raising an event.
  3334.  <code lang="VB">
  3335.  ' Declare a new event
  3336.  Dim MyCrossTrackErrorEvent As CrossTrackErrorEventHandler
  3337.  ' Create an CrossTrackError of 90┬░
  3338.  Dim MyCrossTrackError As New CrossTrackError(90)
  3339.  
  3340.  Sub Main()
  3341.    ' Raise our custom event
  3342.    RaiseEvent MyCrossTrackErrorEvent(Me, New CrossTrackErrorEventArgs(MyCrossTrackError))
  3343.  End Sub
  3344.  </code>
  3345.         <code lang="C#">
  3346.  // Declare a new event
  3347.  CrossTrackErrorEventHandler MyCrossTrackErrorEvent;
  3348.  // Create an CrossTrackError of 90┬░
  3349.  CrossTrackError MyCrossTrackError = new CrossTrackError(90);
  3350.  
  3351.  void Main()
  3352.  {
  3353.    // Raise our custom event
  3354.    MyCrossTrackErrorEvent(this, New CrossTrackErrorEventArgs(MyCrossTrackError));
  3355.  }
  3356.  </code>
  3357.     </example>
  3358.     <seealso cref="P:StormSource.Gps.Receiver.CrossTrackError">CrossTrackError Property (Receiver Class)</seealso>
  3359.     <seealso cref="T:StormSource.Gps.CrossTrackError">CrossTrackError Class</seealso>
  3360. </member><member name="M:StormSource.Gps.DateTimeEventArgs.#ctor(System.DateTime)">
  3361.     <summary>
  3362.  Creates a new instance.
  3363.  </summary>
  3364.     <param name="dateTime">A DateTime object containing a date and time reported by the GPS device.</param>
  3365. </member><member name="P:StormSource.Gps.DateTimeEventArgs.DateTime">
  3366.     <summary>
  3367.  A date and time value in UTC time (not adjusted for the local time zone).
  3368.  </summary>
  3369.     <value>A DateTime object containing a date and time reported by the GPS device.</value>
  3370.     <remarks>This date and time value is not adjusted to the local time zone.  Use the 
  3371.  <see cref="M:System.DateTime.ToLocalTime">ToLocalTime</see> method to adjust to local time.</remarks>
  3372.     <seealso cref="P:StormSource.Gps.DateTimeEventArgs.DateTime">DateTime Class</seealso>
  3373.     <seealso cref="M:System.DateTime.ToLocalTime">ToLocalTime Method (DateTime Class)</seealso>
  3374. </member><member name="T:StormSource.Gps.DateTimeEventArgs">
  3375.     <summary>
  3376.  Represents information about the date and time reported by the GPS device.
  3377.  </summary>
  3378.     <remarks>This object is used primarily by the <see cref="P:StormSource.Gps.Receiver.UtcDateTime">UtcDateTime</see>
  3379.  property of the <see cref="T:StormSource.Gps.Receiver">Receiver</see> class to provide notification when updated 
  3380.  cross-track error information has been received from the GPS device.</remarks>
  3381.     <example>This example demonstrates how to use this class when raising an event.
  3382.  <code lang="VB">
  3383.  ' Declare a new event
  3384.  Dim MyDateTimeEvent As DateTimeEventHandler
  3385.  ' Create an DateTime of 90┬░
  3386.  Dim MyDateTime As New DateTime(90)
  3387.  
  3388.  Sub Main()
  3389.    ' Raise our custom event
  3390.    RaiseEvent MyDateTimeEvent(Me, New DateTimeEventArgs(MyDateTime))
  3391.  End Sub
  3392.  </code>
  3393.         <code lang="C#">
  3394.  // Declare a new event
  3395.  DateTimeEventHandler MyDateTimeEvent;
  3396.  // Create an DateTime of 90┬░
  3397.  DateTime MyDateTime = new DateTime(90);
  3398.  
  3399.  void Main()
  3400.  {
  3401.    // Raise our custom event
  3402.    MyDateTimeEvent(this, New DateTimeEventArgs(MyDateTime));
  3403.  }
  3404.  </code>
  3405.     </example>
  3406.     <seealso cref="P:StormSource.Gps.Receiver.UtcDateTime">UtcDateTime Property (Receiver Class)</seealso>
  3407.     <seealso cref="T:System.DateTime">DateTime Class</seealso>
  3408. </member><member name="P:StormSource.Gps.SatelliteCountEventArgs.Count">
  3409.     <summary>
  3410.  Indicates the number of <see cref="P:StormSource.Gps.SatelliteCollection.ActiveCount">active</see>,
  3411.  <see cref="P:StormSource.Gps.SatelliteCollection.TrackedCount">tracked</see> or <see cref="P:StormSource.Gps.SatelliteCollection.FixedCount">fixed</see>
  3412.  satellites, as indicated by the <see cref="P:StormSource.Gps.SatelliteCountEventArgs.Type">Type</see> property.
  3413.  </summary>
  3414.     <seealso cref="P:StormSource.Gps.SatelliteCountEventArgs.Type">Type Property</seealso>
  3415.     <seealso cref="T:StormSource.Gps.SatelliteCollection">SatelliteCollection Class</seealso>
  3416.     <seealso cref="P:StormSource.Gps.SatelliteCollection.ActiveCount">ActiveCount Property (SatelliteCollection Class)</seealso>
  3417.     <seealso cref="P:StormSource.Gps.SatelliteCollection.TrackedCount">TrackedCount Property (SatelliteCollection Class)</seealso>
  3418.     <seealso cref="P:StormSource.Gps.SatelliteCollection.FixedCount">FixedCount Property (SatelliteCollection Class)</seealso>
  3419. </member><member name="P:StormSource.Gps.SatelliteCountEventArgs.Type">
  3420.     <summary>
  3421.  Indicates whether the Count property is describing the of <see cref="P:StormSource.Gps.SatelliteCollection.ActiveCount">active</see>,
  3422.  <see cref="P:StormSource.Gps.SatelliteCollection.TrackedCount">tracked</see> or <see cref="P:StormSource.Gps.SatelliteCollection.FixedCount">fixed</see>
  3423.  satellites.
  3424.  </summary>
  3425.     <seealso cref="P:StormSource.Gps.SatelliteCountEventArgs.Count">Count Property</seealso>
  3426.     <seealso cref="T:StormSource.Gps.SatelliteCollection">SatelliteCollection Class</seealso>
  3427.     <seealso cref="P:StormSource.Gps.SatelliteCollection.ActiveCount">ActiveCount Property (SatelliteCollection Class)</seealso>
  3428.     <seealso cref="P:StormSource.Gps.SatelliteCollection.TrackedCount">TrackedCount Property (SatelliteCollection Class)</seealso>
  3429.     <seealso cref="P:StormSource.Gps.SatelliteCollection.FixedCount">FixedCount Property (SatelliteCollection Class)</seealso>
  3430. </member><member name="T:StormSource.Gps.SatelliteCountEventArgs">
  3431.     <summary>
  3432.  Represents information about satellite count statistics when a satellite statistic-related event is raised.
  3433.  </summary>
  3434.     <remarks>This object is used primarily by the <see cref="T:StormSource.Gps.SatelliteCollection">SatelliteCollection</see>
  3435.  class to provide notification when the number of <see cref="P:StormSource.Gps.SatelliteCollection.ActiveCount">active</see>,
  3436.  <see cref="P:StormSource.Gps.SatelliteCollection.TrackedCount">tracked</see> or <see cref="P:StormSource.Gps.SatelliteCollection.FixedCount">fixed</see>
  3437.  satellites has changed.</remarks>
  3438.     <example>This example demonstrates how to use this class when raising an event.
  3439.  <code lang="VB">
  3440.  ' Declare a new event
  3441.  Dim MySatelliteCountEvent As SatelliteCountEventHandler
  3442.  ' Create an SatelliteCount of 90┬░
  3443.  Dim MySatelliteCount As New SatelliteCount(90)
  3444.  
  3445.  Sub Main()
  3446.    ' Raise our custom event
  3447.    RaiseEvent MySatelliteCountEvent(Me, New SatelliteCountEventArgs(MySatelliteCount))
  3448.  End Sub
  3449.  </code>
  3450.         <code lang="C#">
  3451.  // Declare a new event
  3452.  SatelliteCountEventHandler MySatelliteCountEvent;
  3453.  // Create an SatelliteCount of 90┬░
  3454.  SatelliteCount MySatelliteCount = new SatelliteCount(90);
  3455.  
  3456.  void Main()
  3457.  {
  3458.    // Raise our custom event
  3459.    MySatelliteCountEvent(this, New SatelliteCountEventArgs(MySatelliteCount));
  3460.  }
  3461.  </code>
  3462.     </example>
  3463.     <seealso cref="T:StormSource.Gps.SatelliteCollection">SatelliteCollection Class</seealso>
  3464.     <seealso cref="P:StormSource.Gps.SatelliteCollection.ActiveCount">ActiveCount Property (SatelliteCollection Class)</seealso>
  3465.     <seealso cref="P:StormSource.Gps.SatelliteCollection.TrackedCount">TrackedCount Property (SatelliteCollection Class)</seealso>
  3466.     <seealso cref="P:StormSource.Gps.SatelliteCollection.FixedCount">FixedCount Property (SatelliteCollection Class)</seealso>
  3467. </member><member name="M:StormSource.Gps.SatelliteEventArgs.#ctor(StormSource.Gps.Satellite)">
  3468.     <summary>
  3469.  Creates a new instance.
  3470.  </summary>
  3471.     <param name="Satellite"></param>
  3472. </member><member name="P:StormSource.Gps.SatelliteEventArgs.Satellite">
  3473.     <summary>
  3474.  Indicates which satellite is the target of the event.
  3475.  </summary>
  3476.     <value>A <strong>Satellite</strong> object containing modified information.</value>
  3477. </member><member name="T:StormSource.Gps.SatelliteEventArgs">
  3478.     <summary>
  3479.  Represents information about a satellite when a satellite-related event is raised.
  3480.  </summary>
  3481.     <remarks>This object is used primarily by the <see cref="T:StormSource.Gps.Satellite">Satellite</see>
  3482.  class to provide notification when information such as <see cref="P:StormSource.Gps.Satellite.Azimuth">azimuth</see>,
  3483.  <see cref="P:StormSource.Gps.Satellite.Elevation">elevation</see>, or <see cref="P:StormSource.Gps.Satellite.SignalToNoiseRatio">radio signal strength</see> 
  3484.  has changed.</remarks>
  3485.     <example>This example demonstrates how to use this class when raising an event.
  3486.  <code lang="VB">
  3487.  ' Start a new receiver
  3488.  Dim MyReceiver As New Receiver()
  3489.  ' Declare a new event
  3490.  Dim MySatelliteEvent As SatelliteEventHandler
  3491.  ' Get a handle on the first satellite in the receiver's collection
  3492.  Dim MySatellite As Satellite = MyReceiver.Satellites(0)
  3493.  
  3494.  Sub Main()
  3495.    ' Raise our custom event
  3496.    RaiseEvent MySatelliteEvent(Me, New SatelliteEventArgs(MySatellite))
  3497.  End Sub
  3498.  </code>
  3499.         <code lang="C#">
  3500.  // Start a new receiver
  3501.  Receiver MyReceiver = new Receiver();
  3502.  // Declare a new event
  3503.  SatelliteEventHandler MySatelliteEvent;
  3504.  // Create an Satellite of 90┬░
  3505.  Satellite MySatellite = new Satellite(90);
  3506.  
  3507.  void Main()
  3508.  {
  3509.    // Raise our custom event
  3510.    MySatelliteEvent(this, New SatelliteEventArgs(MySatellite));
  3511.  }
  3512.  </code>
  3513.     </example>
  3514.     <seealso cref="T:StormSource.Gps.Satellite">SatelliteCollection Class</seealso>
  3515.     <seealso cref="P:StormSource.Gps.Satellite.Azimuth">Azimuth Property (Satellite Class)</seealso>
  3516.     <seealso cref="P:StormSource.Gps.Satellite.Elevation">Elevation Property (Satellite Class)</seealso>
  3517.     <seealso cref="P:StormSource.Gps.Satellite.SignalToNoiseRatio">SignalToNoiseRatio Property (Satellite Class)</seealso>
  3518. </member><member name="M:StormSource.Gps.SentenceEventArgs.#ctor(System.String,StormSource.Gps.SentenceType)">
  3519.     <summary>
  3520.  Creates a new instance with the specified block of raw GPS data and a flag indicating if the sentence was fully parsed.
  3521.  </summary>
  3522.     <param name="sentence">A <strong>String</strong> containing raw GPS data.</param>
  3523.     <param name="sentenceType">A value from the <see cref="T:StormSource.Gps.SentenceType">SentenceType</see> enumeration indicating if the sentence was fully parsed or not.</param>
  3524.     <seealso cref="P:StormSource.Gps.SentenceEventArgs.Type">Type Property</seealso>
  3525.     <seealso cref="P:StormSource.Gps.SentenceEventArgs.Sentence">Sentence Property</seealso>
  3526. </member><member name="P:StormSource.Gps.SentenceEventArgs.Sentence">
  3527.     <summary>
  3528.  Stores one line of raw GPS data.
  3529.  </summary>
  3530.     <value>A String containing one line of raw NMEA or Garmin┬« text data.</value>
  3531.     <remarks>When using the NMEA-0183 or Garmin┬« text protocols, this property stores text for one individual line.  For the Garmin┬« binary protocol, a signature such as "(Garmin waypoint data)" is stored instead of actual binary data.</remarks>
  3532.     <seealso cref="P:StormSource.Gps.SentenceEventArgs.Type">Type Property</seealso>
  3533. </member><member name="P:StormSource.Gps.SentenceEventArgs.Type">
  3534.     <summary>
  3535.  Indicates if the sentence was completely processed with no errors or warnings.
  3536.  </summary>
  3537.     <value>A value from the SentenceType enumeration.</value>
  3538.     <remarks>If the GPS.NET processing engine is able to completely parse the sentence with
  3539.  no errors or warnings, this property stores a value of <strong>Recognized</strong>.  If the 
  3540.  sentence was only partially processed or skipped due to a checksum error, a value of
  3541.  <strong>Unrecognized</strong> is stored.</remarks>
  3542.     <seealso cref="P:StormSource.Gps.SentenceEventArgs.Sentence">Sentence Property</seealso>
  3543. </member><member name="T:StormSource.Gps.SentenceEventArgs">
  3544.     <summary>
  3545.  Represents information about raw data received from a GPS device.
  3546.  </summary>
  3547.     <remarks>This object is used primarily by the <see cref="E:StormSource.Gps.Receiver.SentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">SentenceReceived</see>
  3548.  and <see cref="E:StormSource.Gps.Receiver.UnrecognizedSentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">UnrecognizedSentenceReceived</see> events of
  3549.  the <see cref="T:StormSource.Gps.Receiver">Receiver</see> class to provide notification when raw data has been received
  3550.  from the GPS device.</remarks>
  3551.     <example>This example demonstrates how to use this class when raising an event.
  3552.  <code lang="VB">
  3553.  ' Declare a new event
  3554.  Dim MySentenceEvent As SentenceEventHandler
  3555.  ' Create an NMEA $GPGLL sentence
  3556.  Dim MySentence As String = "$GPGLL,4122,N,14628,W,104243.00,A,D*7E"
  3557.  
  3558.  Sub Main()
  3559.    ' Raise our custom event, also indicating that the sentence was completely recognized
  3560.    RaiseEvent MySentenceEvent(Me, New SentenceEventArgs(MySentence, SentenceType.Recognized))
  3561.  End Sub
  3562.  </code>
  3563.         <code lang="C#">
  3564.  // Declare a new event
  3565.  SentenceEventHandler MySentenceEvent;
  3566.  // Create an NMEA $GPGLL sentence
  3567.  string MySentence = "$GPGLL,4122,N,14628,W,104243.00,A,D*7E"
  3568.  
  3569.  void Main()
  3570.  {
  3571.    // Raise our custom event, also indicating that the sentence was completely recognized
  3572.    MySentenceEvent(this, New SentenceEventArgs(MySentence, SentenceType.Recognized));
  3573.  }
  3574.  </code>
  3575.     </example>
  3576.     <seealso cref="T:StormSource.Gps.Receiver">Receiver Class</seealso>
  3577.     <seealso cref="E:StormSource.Gps.Receiver.SentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">SentenceReceived Event (Receiver Class)</seealso>
  3578.     <seealso cref="E:StormSource.Gps.Receiver.UnrecognizedSentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">UnrecognizedSentenceReceived Event (Receiver Class)</seealso>
  3579. </member><member name="M:StormSource.Gps.ErrorEventArgs.#ctor(System.ApplicationException)">
  3580.     <summary>
  3581.  Creates a new instance containing the specified exception object.
  3582.  </summary>
  3583.     <param name="exception">An <strong>ApplicationException</strong> object or derivitive describing the error.</param>
  3584. </member><member name="P:StormSource.Gps.ErrorEventArgs.Exception">
  3585.     <summary>
  3586.  Indicates information about the error and its location within a module.
  3587.  </summary>
  3588.     <value>An <strong>ApplicationException</strong> object or derivitive describing the error.</value>
  3589. </member><member name="T:StormSource.Gps.ErrorEventArgs">
  3590.     <summary>
  3591.  Represents information about an exception when an error-related event is raised.
  3592.  </summary>
  3593.     <remarks>This object is used throughout the GPS.NET framework to provide notification when
  3594.  either of two situations occur:
  3595.  
  3596.  <list>
  3597.             <item>An exception is thrown which cannot be trapped via a Try..Catch block (such as from a separate thread)</item>
  3598.             <item>An exception is thrown which can be recovered from and should not halt the current operation.</item>
  3599.         </list>
  3600.  Most frequently, this class is used when a parsing exception occurs via the Parse method or during automatic
  3601.  data collection.</remarks>
  3602.     <example>This example demonstrates how to use this class when raising an event.
  3603.  <code lang="VB">
  3604.  ' Create a new exception
  3605.  Dim MyException As New ApplicationException("The error was successfully created.")
  3606.  ' Declare a new event
  3607.  Dim MyErrorEvent As ErrorEventHandler
  3608.  
  3609.  Sub Main()
  3610.    ' Raise our custom event
  3611.    RaiseEvent MyErrorEvent(Me, New ErrorEventArgs(MyException))
  3612.  End Sub
  3613.  </code>
  3614.         <code lang="C#">
  3615.  // Create a new exception
  3616.  ApplicationException MyException = new ApplicationException("The error was successfully created.")
  3617.  // Declare a new event
  3618.  ErrorEventHandler MyErrorEvent;
  3619.  
  3620.  void Main()
  3621.  {
  3622.    // Raise our custom event
  3623.    MySatelliteEvent(this, New ErrorEventArgs(MyException));
  3624.  }
  3625.  </code>
  3626.     </example>
  3627.     <seealso cref="T:StormSource.Gps.GpsException">GpsException Class</seealso>
  3628.     <seealso cref="T:StormSource.Gps.ImmutableObjectException">ImmutableObjectException Class</seealso>
  3629.     <seealso cref="T:StormSource.Gps.ParsingException">ParsingException Class</seealso>
  3630. </member><member name="M:StormSource.Gps.FixMethodEventArgs.#ctor(StormSource.Gps.FixMethod)">
  3631.     <summary>
  3632.  Creates a new instance with the specified fix method.
  3633.  </summary>
  3634.     <param name="fixMethod">A value from the <strong>FixMethod</strong> enumeration.</param>
  3635.     <remarks></remarks>
  3636. </member><member name="P:StormSource.Gps.FixMethodEventArgs.FixMethod">
  3637.     <summary>
  3638.  Indicates if the GPS device has no fix, a 2-D fix, or a 3-D fix.
  3639.  </summary>
  3640.     <value>A value from the <strong>FixMethod</strong> enumeration.</value>
  3641.     <remarks>A device is considered to have a "2-D" fix if there are three satellites
  3642.  involved in the fix.  A 2-D fix means that position information is available, but not 
  3643.  altitude.  If at least four satellites are fixed, both position and altitude are known,
  3644.  and the fix is considered 3-D.</remarks>
  3645.     <seealso cref="P:StormSource.Gps.Receiver.FixMethod">FixMethod Property (Receiver Class)</seealso>
  3646. </member><member name="T:StormSource.Gps.FixMethodEventArgs">
  3647.     <summary>
  3648.  Represents information about the method used to obtain a fix when a fix-related event is raised.
  3649.  </summary>
  3650.     <remarks>This object is used primarily by the <see cref="E:StormSource.Gps.Receiver.FixMethodChanged(System.Object,StormSource.Gps.FixMethodEventArgs)">FixMethodChanged</see>
  3651.  event of the <see cref="T:StormSource.Gps.Receiver">Receiver</see> class to provide notification when 
  3652.  updated fix method information has been received from the GPS device.</remarks>
  3653.     <example>This example demonstrates how to use this class when raising an event.
  3654.  <code lang="VB">
  3655.  ' Declare a new event
  3656.  Dim MyFixMethodEvent As FixMethodEventHandler
  3657.  ' Create a FixMethod signifying a 3-D fix (both position and altitude)
  3658.  Dim MyFixMethod As FixMethod = FixMethod.Fix3D
  3659.  
  3660.  Sub Main()
  3661.    ' Raise our custom event
  3662.    RaiseEvent MyFixMethodEvent(Me, New FixMethodEventArgs(MyFixMethod))
  3663.  End Sub
  3664.  </code>
  3665.         <code lang="C#">
  3666.  // Declare a new event
  3667.  FixMethodEventHandler MyFixMethodEvent;
  3668.  // Create a FixMethod signifying a 3-D fix (both position and altitude)
  3669.  FixMethod MyFixMethod = FixMethod.Fix3D;
  3670.  
  3671.  void Main()
  3672.  {
  3673.    // Raise our custom event
  3674.    MyFixMethodEvent(this, New FixMethodEventArgs(MyFixMethod));
  3675.  }
  3676.  </code>
  3677.     </example>
  3678.     <seealso cref="P:StormSource.Gps.Receiver.FixMethod">FixMethod Property (Receiver Class)</seealso>
  3679.     <seealso cref="T:StormSource.Gps.Receiver">Receiver Class</seealso>
  3680. </member><member name="M:StormSource.Gps.FixLikelihoodEventArgs.#ctor(StormSource.Gps.FixLikelihood)">
  3681.     <summary>
  3682.  Creates a new instance with the specified fix Likelihood.
  3683.  </summary>
  3684.     <param name="fixLikelihood">A value from the <strong>FixLikelihood</strong> enumeration.</param>
  3685.     <remarks></remarks>
  3686. </member><member name="P:StormSource.Gps.FixLikelihoodEventArgs.FixLikelihood">
  3687.     <summary>
  3688.  Indicates if the GPS device has no fix, a 2-D fix, or a 3-D fix.
  3689.  </summary>
  3690.     <value>A value from the <strong>FixLikelihood</strong> enumeration.</value>
  3691.     <remarks>A device is considered to have a "2-D" fix if there are three satellites
  3692.  involved in the fix.  A 2-D fix means that position information is available, but not 
  3693.  altitude.  If at least four satellites are fixed, both position and altitude are known,
  3694.  and the fix is considered 3-D.</remarks>
  3695.     <seealso cref="P:StormSource.Gps.Receiver.FixLikelihood">FixLikelihood Property (Receiver Class)</seealso>
  3696. </member><member name="T:StormSource.Gps.FixLikelihoodEventArgs">
  3697.     <summary>
  3698.  Represents information about the likelihood that a fix will be sustained (or obtained) when a when a fix-related event is raised.
  3699.  </summary>
  3700.     <remarks>This object is used primarily by the <see cref="E:StormSource.Gps.Receiver.FixLikelihoodChanged(System.Object,StormSource.Gps.FixLikelihoodEventArgs)">FixLikelihoodChanged</see>
  3701.  event of the <see cref="T:StormSource.Gps.Receiver">Receiver</see> class to provide notification when 
  3702.  combined satellite radio signal strength has changed.</remarks>
  3703.     <example>This example demonstrates how to use this class when raising an event.
  3704.  <code lang="VB">
  3705.  ' Declare a new event
  3706.  Dim MyFixLikelihoodEvent As FixLikelihoodEventHandler
  3707.  ' Create a FixLikelihood signifying a 3-D fix (both position and altitude)
  3708.  Dim MyFixLikelihood As FixLikelihood = FixLikelihood.Fix3D
  3709.  
  3710.  Sub Main()
  3711.    ' Raise our custom event
  3712.    RaiseEvent MyFixLikelihoodEvent(Me, New FixLikelihoodEventArgs(MyFixLikelihood))
  3713.  End Sub
  3714.  </code>
  3715.         <code lang="C#">
  3716.  // Declare a new event
  3717.  FixLikelihoodEventHandler MyFixLikelihoodEvent;
  3718.  // Create a FixLikelihood signifying a 3-D fix (both position and altitude)
  3719.  FixLikelihood MyFixLikelihood = FixLikelihood.Fix3D;
  3720.  
  3721.  void Main()
  3722.  {
  3723.    // Raise our custom event
  3724.    MyFixLikelihoodEvent(this, New FixLikelihoodEventArgs(MyFixLikelihood));
  3725.  }
  3726.  </code>
  3727.     </example>
  3728.     <seealso cref="P:StormSource.Gps.Receiver.FixLikelihood">FixLikelihood Property (Receiver Class)</seealso>
  3729.     <seealso cref="T:StormSource.Gps.Receiver">Receiver Class</seealso>
  3730. </member><member name="M:StormSource.Gps.FixModeEventArgs.#ctor(StormSource.Gps.FixMode)">
  3731.     <summary>
  3732.  Creates a new instance with the specified fix method.
  3733.  </summary>
  3734.     <param name="fixMode">A value from the <strong>FixMode</strong> enumeration.</param>
  3735.     <remarks></remarks>
  3736. </member><member name="P:StormSource.Gps.FixModeEventArgs.FixMode">
  3737.     <summary>
  3738.  Indicates if the GPS device is choosing the <see cref="T:StormSource.Gps.FixMethod">fix method</see> automatically.
  3739.  </summary>
  3740.     <value>A value from the <strong>FixMode</strong> enumeration.</value>
  3741.     <remarks>A vast majority of GPS devices calculate the fix mode automatically.  This is because
  3742.  the process of determining the fix mode is a simple process: if there are three fixed satellites,
  3743.  a 2-D fix is obtained; if there are four or more fixed satellites, a 3-D fix is in progress. Any
  3744.  less than three satellites means that no fix is possible.
  3745.  </remarks>
  3746.     <seealso cref="P:StormSource.Gps.Receiver.FixMode">FixMode Property (Receiver Class)</seealso>
  3747. </member><member name="T:StormSource.Gps.FixModeEventArgs">
  3748.     <summary>
  3749.  Represents information about whether the fix method is chosen automatically when a fix-related event is raised.
  3750.  </summary>
  3751.     <remarks>This object is used primarily by the <see cref="E:StormSource.Gps.Receiver.FixModeChanged(System.Object,StormSource.Gps.FixModeEventArgs)">FixModeChanged</see>
  3752.  event of the <see cref="T:StormSource.Gps.Receiver">Receiver</see> class to provide notification when 
  3753.  the receiver switches fix modes from <strong>Automatic</strong> to <strong>Manual</strong> or vice-versa.</remarks>
  3754.     <example>This example demonstrates how to use this class when raising an event.
  3755.  <code lang="VB">
  3756.  ' Declare a new event
  3757.  Dim MyFixModeEvent As FixModeEventHandler
  3758.  ' Create a FixMode signifying that the fix method is being chosen automatically
  3759.  Dim MyFixMode As FixMode = FixMode.Automatic 
  3760.  
  3761.  Sub Main()
  3762.    ' Raise our custom event
  3763.    RaiseEvent MyFixModeEvent(Me, New FixModeEventArgs(MyFixMode))
  3764.  End Sub
  3765.  </code>
  3766.         <code lang="C#">
  3767.  // Declare a new event
  3768.  FixModeEventHandler MyFixModeEvent;
  3769.  // Create a FixMode signifying that the fix method is being chosen automatically
  3770.  FixMode MyFixMode = FixMode.Automatic;
  3771.  
  3772.  void Main()
  3773.  {
  3774.    // Raise our custom event
  3775.    MyFixModeEvent(this, New FixModeEventArgs(MyFixMode));
  3776.  }
  3777.  </code>
  3778.     </example>
  3779.     <seealso cref="P:StormSource.Gps.Receiver.FixMethod">FixMethod Property (Receiver Class)</seealso>
  3780.     <seealso cref="T:StormSource.Gps.Receiver">Receiver Class</seealso>
  3781. </member><member name="M:StormSource.Gps.FixQualityEventArgs.#ctor(StormSource.Gps.FixQuality)">
  3782.     <summary>
  3783.  Creates a new instance with the specified fix quality measurement.
  3784.  </summary>
  3785.     <param name="fixQuality">A value from the <strong>FixQuality</strong> enumeration.</param>
  3786.     <remarks></remarks>
  3787. </member><member name="P:StormSource.Gps.FixQualityEventArgs.FixQuality">
  3788.     <summary>
  3789.  Indicates whether the current fix involves satellites and/or DGPS/WAAS ground stations.
  3790.  </summary>
  3791.     <value>A value from the <strong>FixQuality</strong> enumeration.</value>
  3792.     <remarks></remarks>
  3793. </member><member name="T:StormSource.Gps.FixQualityEventArgs">
  3794.     <summary>
  3795.  Represents information about the type of fix obtained when fix-related event is raised.
  3796.  </summary>
  3797.     <remarks>This object is used primarily by the <see cref="E:StormSource.Gps.Receiver.FixQualityChanged(System.Object,StormSource.Gps.FixQualityEventArgs)">FixQualityChanged</see>
  3798.  event of the <see cref="T:StormSource.Gps.Receiver">Receiver</see> class to provide notification when 
  3799.  the receiver switches fix modes from <strong>Automatic</strong> to <strong>Manual</strong> or vice-versa.</remarks>
  3800.     <example>This example demonstrates how to use this class when raising an event.
  3801.  <code lang="VB">
  3802.  ' Declare a new event
  3803.  Dim MyFixQualityEvent As FixQualityEventHandler
  3804.  ' Create a FixQuality signifying that a differential GPS fix is obtained
  3805.  Dim MyFixQuality As FixQuality = FixQuality.DifferentialGpsFix 
  3806.  
  3807.  Sub Main()
  3808.    ' Raise our custom event
  3809.    RaiseEvent MyFixQualityEvent(Me, New FixQualityEventArgs(MyFixQuality))
  3810.  End Sub
  3811.  </code>
  3812.         <code lang="C#">
  3813.  // Declare a new event
  3814.  FixQualityEventHandler MyFixQualityEvent;
  3815.  // Create a FixQuality signifying that a differential GPS fix is obtained
  3816.  FixQuality MyFixQuality = FixQuality.DifferentialGpsFix;
  3817.  
  3818.  void Main()
  3819.  {
  3820.    // Raise our custom event
  3821.    MyFixQualityEvent(this, New FixQualityEventArgs(MyFixQuality));
  3822.  }
  3823.  </code>
  3824.     </example>
  3825.     <seealso cref="P:StormSource.Gps.Receiver.FixMethod">FixMethod Property (Receiver Class)</seealso>
  3826.     <seealso cref="T:StormSource.Gps.Receiver">Receiver Class</seealso>
  3827. </member><member name="M:StormSource.Gps.LongitudeEventArgs.#ctor(StormSource.Gps.Longitude)">
  3828.     <summary>
  3829.  Creates a new instance which contains the specified <strong>Longitude</strong> object.
  3830.  </summary>
  3831.     <param name="longitude">a <strong>Longitude</strong> object which is the target of the event.</param>
  3832.     <remarks></remarks>
  3833. </member><member name="P:StormSource.Gps.LongitudeEventArgs.Longitude">
  3834.     <summary>
  3835.  Indicates the longitude object whose properties have changed.
  3836.  </summary>
  3837.     <value>A <strong>Longitude</strong> object.</value>
  3838.     <remarks></remarks>
  3839.     <seealso cref="P:StormSource.Gps.Position.Longitude">Longitude Property (Position Class)</seealso>
  3840.     <seealso cref="T:StormSource.Gps.Position">Position Class</seealso>
  3841.     <seealso cref="P:StormSource.Gps.LongitudeEventArgs.Longitude">Longitude Class</seealso>
  3842. </member><member name="T:StormSource.Gps.LongitudeEventArgs">
  3843.     <summary>
  3844.  Represents information about a longitude measurement when a longitude-related event is raised.
  3845.  </summary>
  3846.     <remarks>This object is used primarily by the <see cref="E:StormSource.Gps.Position.LongitudeChanged(System.Object,StormSource.Gps.LongitudeEventArgs)">LongitudeChanged</see>
  3847.  event of the <see cref="T:StormSource.Gps.Position">Position</see> class to provide notification when 
  3848.  the longitude has changed.</remarks>
  3849.     <example>This example demonstrates how to use this class when raising an event.
  3850.  <code lang="VB">
  3851.  ' Declare a new event
  3852.  Dim MyLongitudeEvent As LongitudeEventHandler
  3853.  ' Create a new longitude of 105 degrees west
  3854.  Dim MyLongitude As longitude = New Longitude("105┬░W"); 
  3855.  
  3856.  Sub Main()
  3857.    ' Raise our custom event
  3858.    RaiseEvent MyLongitudeEvent(Me, New LongitudeEventArgs(MyLongitude))
  3859.  End Sub
  3860.  </code>
  3861.         <code lang="C#">
  3862.  // Declare a new event
  3863.  LongitudeEventHandler MyLongitudeEvent;
  3864.  // Create a new longitude of 105 degrees west
  3865.  Longitude MyLongitude = new Longitude("105┬░W");
  3866.  
  3867.  void Main()
  3868.  {
  3869.    // Raise our custom event
  3870.    MyLongitudeEvent(this, New LongitudeEventArgs(MyLongitude));
  3871.  }
  3872.  </code>
  3873.     </example>
  3874.     <seealso cref="P:StormSource.Gps.Position.Longitude">Longitude Property (Position Class)</seealso>
  3875.     <seealso cref="T:StormSource.Gps.Position">Position Class</seealso>
  3876.     <seealso cref="T:StormSource.Gps.Longitude">Longitude Class</seealso>
  3877. </member><member name="M:StormSource.Gps.LatitudeEventArgs.#ctor(StormSource.Gps.Latitude)">
  3878.     <summary>
  3879.  Creates a new instance which contains the specified <strong>Latitude</strong> object.
  3880.  </summary>
  3881.     <param name="latitude">a <strong>Latitude</strong> object which is the target of the event.</param>
  3882.     <remarks></remarks>
  3883. </member><member name="P:StormSource.Gps.LatitudeEventArgs.Latitude">
  3884.     <summary>
  3885.  Indicates the latitude object whose properties have changed.
  3886.  </summary>
  3887.     <value>A <strong>Latitude</strong> object.</value>
  3888.     <remarks></remarks>
  3889.     <seealso cref="P:StormSource.Gps.Position.Latitude">Latitude Property (Position Class)</seealso>
  3890.     <seealso cref="T:StormSource.Gps.Position">Position Class</seealso>
  3891.     <seealso cref="P:StormSource.Gps.LatitudeEventArgs.Latitude">Latitude Class</seealso>
  3892. </member><member name="T:StormSource.Gps.LatitudeEventArgs">
  3893.     <summary>
  3894.  Represents information about a latitude measurement when a latitude-related event is raised.
  3895.  </summary>
  3896.     <remarks>This object is used primarily by the <see cref="E:StormSource.Gps.Position.LatitudeChanged(System.Object,StormSource.Gps.LatitudeEventArgs)">LatitudeChanged</see>
  3897.  event of the <see cref="T:StormSource.Gps.Position">Position</see> class to provide notification when 
  3898.  the latitude has changed.</remarks>
  3899.     <example>This example demonstrates how to use this class when raising an event.
  3900.  <code lang="VB">
  3901.  ' Declare a new event
  3902.  Dim MyLatitudeEvent As LatitudeEventHandler
  3903.  ' Create a new latitude of 39 degrees north
  3904.  Dim MyLatitude As latitude = New Latitude("39┬░N"); 
  3905.  
  3906.  Sub Main()
  3907.    ' Raise our custom event
  3908.    RaiseEvent MyLatitudeEvent(Me, New LatitudeEventArgs(MyLatitude))
  3909.  End Sub
  3910.  </code>
  3911.         <code lang="C#">
  3912.  // Declare a new event
  3913.  LatitudeEventHandler MyLatitudeEvent;
  3914.  // Create a new latitude of 39 degrees north
  3915.  Latitude MyLatitude = new Latitude("39┬░N");
  3916.  
  3917.  void Main()
  3918.  {
  3919.    // Raise our custom event
  3920.    MyLatitudeEvent(this, New LatitudeEventArgs(MyLatitude));
  3921.  }
  3922.  </code>
  3923.     </example>
  3924.     <seealso cref="P:StormSource.Gps.Position.Latitude">Latitude Property (Position Class)</seealso>
  3925.     <seealso cref="T:StormSource.Gps.Position">Position Class</seealso>
  3926.     <seealso cref="T:StormSource.Gps.Latitude">Latitude Class</seealso>
  3927. </member><member name="M:StormSource.Gps.TimeSpanEventArgs.#ctor(System.TimeSpan)">
  3928.     <summary>
  3929.  Creates a new instance containing the specified TimeSpan object.
  3930.  </summary>
  3931.     <param name="timeSpan">A <strong>TimeSpan</strong> object describing a length of time.</param>
  3932.     <remarks></remarks>
  3933.     <seealso cref="P:StormSource.Gps.TimeSpanEventArgs.TimeSpan">TimeSpan Property</seealso>
  3934.     <seealso cref="T:System.TimeSpan">TimeSpan Structure</seealso>
  3935. </member><member name="P:StormSource.Gps.TimeSpanEventArgs.TimeSpan">
  3936.     <summary>
  3937.  Indicates a length of time which is the target of the event.
  3938.  </summary>
  3939.     <value>A <strong>TimeSpan</strong> object describing a length of time.</value>
  3940.     <remarks></remarks>
  3941.     <seealso cref="T:System.TimeSpan">TimeSpan Structure</seealso>
  3942. </member><member name="T:StormSource.Gps.TimeSpanEventArgs">
  3943.     <summary>
  3944.  Represents information about a length of time calculated or reported by a GPS device.
  3945.  </summary>
  3946.     <remarks>This object is used primarily by the <see cref="P:StormSource.Gps.Device.BatteryLife">BatteryLife</see>
  3947.  property of the <see cref="T:StormSource.Gps.Device">Device</see> class to provide notification when the
  3948.  remaining battery life has diminished.</remarks>
  3949.     <example>This example demonstrates how to use this class when raising an event.
  3950.  <code lang="VB">
  3951.  ' Declare a new event
  3952.  Dim MyTimeSpanEvent As TimeSpanEventHandler
  3953.  ' Create an TimeSpan of 90┬░
  3954.  Dim MyTimeSpan As New TimeSpan(90)
  3955.  
  3956.  Sub Main()
  3957.    ' Raise our custom event
  3958.    RaiseEvent MyTimeSpanEvent(Me, New TimeSpanEventArgs(MyTimeSpan))
  3959.  End Sub
  3960.  </code>
  3961.         <code lang="C#">
  3962.  // Declare a new event
  3963.  TimeSpanEventHandler MyTimeSpanEvent;
  3964.  // Create an TimeSpan of 90┬░
  3965.  TimeSpan MyTimeSpan = new TimeSpan(90);
  3966.  
  3967.  void Main()
  3968.  {
  3969.    // Raise our custom event
  3970.    MyTimeSpanEvent(this, New TimeSpanEventArgs(MyTimeSpan));
  3971.  }
  3972.  </code>
  3973.     </example>
  3974.     <seealso cref="P:StormSource.Gps.Device.BatteryLife">BatteryLife Property (Device Class)</seealso>
  3975.     <seealso cref="T:StormSource.Gps.Device">Device Class</seealso>
  3976.     <seealso cref="T:System.TimeSpan">TimeSpan Structure</seealso>
  3977. </member><member name="P:StormSource.Gps.DeviceEventArgs.Device">
  3978.     <summary>
  3979.  Represents the Device object which is the target of the event.
  3980.  </summary>
  3981.     <value></value>
  3982. </member><member name="T:StormSource.Gps.DeviceEventArgs">
  3983.     <summary>Represents information about a GPS device when a GPS device-related event is raised.</summary>
  3984.     <remarks>This class is typically used for events in the <see cref="T:StormSource.Gps.Device">Device</see> class to 
  3985.  provide notification when the device has become identified.</remarks>
  3986.     <seealso cref="T:StormSource.Gps.Device">Device Class</seealso>
  3987.     <seealso cref="T:StormSource.Gps.DeviceEventHandler">DeviceEventHandler Delegate</seealso>
  3988. </member><member name="M:StormSource.Gps.DilutionOfPrecisionEventArgs.#ctor(StormSource.Gps.DilutionOfPrecision)">
  3989.     <summary>
  3990.  Creates a new instance with the specified DOP measurement.
  3991.  </summary>
  3992.     <param name="DilutionOfPrecision">A DilutionOfPrecision object which is the target of the event.</param>
  3993. </member><member name="P:StormSource.Gps.DilutionOfPrecisionEventArgs.DilutionOfPrecision">
  3994.     <summary>
  3995.  A DilutionOfPrecision object which is the target of the event.
  3996.  </summary>
  3997.     <value></value>
  3998. </member><member name="T:StormSource.Gps.DilutionOfPrecisionEventArgs">
  3999.     <summary>Represents information about a DOP measurement when an DOP-related event is raised.</summary>
  4000.     <remarks>This class is typically used for events in the <see cref="T:StormSource.Gps.DilutionOfPrecision">DilutionOfPrecision</see> class to 
  4001.  provide notification when hours, minutes, decimal minutes or seconds properties have changed.</remarks>
  4002.     <example>This example demonstrates how to use this class when raising an event.
  4003.  <code lang="VB">
  4004.  ' Declare a new event
  4005.  Dim MyDilutionOfPrecisionEvent As DilutionOfPrecisionEventHandler
  4006.  ' Create a DilutionOfPrecision of 30 horizontal
  4007.  Dim MyDilutionOfPrecision As New DilutionOfPrecision(DilutionOfPrecisionType.Horizontal, 30.0)
  4008.  
  4009.  Sub Main()
  4010.    ' Raise our custom event
  4011.    RaiseEvent MyDilutionOfPrecisionEvent(Me, New DilutionOfPrecisionEventArgs(MyDilutionOfPrecision))
  4012.  End Sub
  4013.  </code>
  4014.         <code lang="C#">
  4015.  // Declare a new event
  4016.  DilutionOfPrecisionEventHandler MyDilutionOfPrecisionEvent;
  4017.  // Create a DilutionOfPrecision of 30 horizontal
  4018.  DilutionOfPrecision MyDilutionOfPrecision = new DilutionOfPrecision(DilutionOfPrecisionType.Horizontal, 30.0);
  4019.  
  4020.  void Main()
  4021.  {
  4022.    // Raise our custom event
  4023.    MyDilutionOfPrecisionEvent(this, New DilutionOfPrecisionEventArgs(MyDilutionOfPrecision));
  4024.  }
  4025.  </code>
  4026.     </example>
  4027.     <seealso cref="T:StormSource.Gps.DilutionOfPrecision">DilutionOfPrecision Class</seealso>
  4028.     <seealso cref="T:StormSource.Gps.DilutionOfPrecisionEventHandler">DilutionOfPrecisionEventHandler Delegate</seealso>
  4029. </member><member name="M:StormSource.Gps.DistanceEventArgs.#ctor(StormSource.Gps.Distance)">
  4030.     <summary>
  4031.  Creates a new instance containing the specified Distance object.
  4032.  </summary>
  4033. </member><member name="P:StormSource.Gps.DistanceEventArgs.Distance">
  4034.     <summary>
  4035.  Represents information about a distance measurement when an distance-related event is raised.
  4036.  </summary>
  4037.     <value>A <strong>Distance</strong> object containing a property which has changed.</value>
  4038.     <remarks>This class is used by the <see cref="P:StormSource.Gps.DistanceEventArgs.Distance">Distance</see> class to provide notification 
  4039.  when hours, minutes, or seconds properties have changed.</remarks>
  4040.     <seealso cref="P:StormSource.Gps.DistanceEventArgs.Distance">Distance Class</seealso>
  4041. </member><member name="T:StormSource.Gps.DistanceEventArgs">
  4042.     <summary>Represents information about a distance when an distance-related event is raised.</summary>
  4043.     <remarks>This class is typically used for events in the <see cref="T:StormSource.Gps.Distance">Distance</see> class to 
  4044.  provide notification when hours, minutes, decimal minutes or seconds properties have changed.</remarks>
  4045.     <example>This example demonstrates how to use this class when raising an event.
  4046.  <code lang="VB">
  4047.  ' Declare a new event
  4048.  Dim MyDistanceEvent As DistanceEventHandler
  4049.  ' Create a distance of 125 kilometers
  4050.  Dim MyDistance As New Distance(125, DistanceUnit.Kilometers)
  4051.  
  4052.  Sub Main()
  4053.    ' Raise our custom event
  4054.    RaiseEvent MyDistanceEvent(Me, New DistanceEventArgs(MyDistance))
  4055.  End Sub
  4056.  </code>
  4057.         <code lang="C#">
  4058.  // Declare a new event
  4059.  DistanceEventHandler MyDistanceEvent;
  4060.  // Create a distance of 125 kilometers
  4061.  Distance MyDistance = new Distance(125, DistanceUnit.Kilometers);
  4062.  
  4063.  void Main()
  4064.  {
  4065.    // Raise our custom event
  4066.    MyDistanceEvent(this, New DistanceEventArgs(MyDistance));
  4067.  }
  4068.  </code>
  4069.     </example>
  4070.     <seealso cref="T:StormSource.Gps.Distance">Distance Class</seealso>
  4071.     <seealso cref="T:StormSource.Gps.DistanceEventHandler">DistanceEventHandler Delegate</seealso>
  4072. </member><member name="M:StormSource.Gps.WaypointEventArgs.#ctor(StormSource.Gps.Waypoint)">
  4073.     <summary>
  4074.  Creates a new instance containing the specified Waypoint object.
  4075.  </summary>
  4076. </member><member name="T:StormSource.Gps.WaypointEventArgs">
  4077.     <summary>Represents information about a Waypoint when an Waypoint-related event is raised.</summary>
  4078.     <remarks>This class is typically used for events in the <see cref="T:StormSource.Gps.Waypoint">Waypoint</see> class to 
  4079.  provide notification when hours, minutes, decimal minutes or seconds properties have changed.</remarks>
  4080.     <seealso cref="T:StormSource.Gps.Waypoint">Waypoint Class</seealso>
  4081.     <seealso cref="T:StormSource.Gps.WaypointEventHandler">WaypointEventHandler Delegate</seealso>
  4082. </member><member name="E:StormSource.Gps.IPersistable.BecomesDirty(System.Object,System.EventArgs)">
  4083.     <summary>
  4084.  Occurs when the object's parameters become different from those in the data store.
  4085.  </summary>
  4086. </member><member name="E:StormSource.Gps.IPersistable.BecomesClean(System.Object,System.EventArgs)">
  4087.     <summary>
  4088.  Occurs when the object's parameters now match those in the data store.
  4089.  </summary>
  4090. </member><member name="P:StormSource.Gps.IPersistable.IsDirty">
  4091.     <summary>
  4092.  Indicates if the object's properties differ from those in the data store.
  4093.  </summary>
  4094. </member><member name="M:StormSource.Gps.IPersistable.Save">
  4095.     <summary>
  4096.  Commits any changes to the object to the data store.
  4097.  </summary>
  4098. </member><member name="T:StormSource.Gps.IPersistable">
  4099.     <summary>
  4100.  Adds functionality to an object which can be persisted in a data store
  4101.  </summary>
  4102. </member><member name="F:StormSource.Gps.Geodesy.DefaultDatum">
  4103.     <summary>Returns the WGS1984 datum object.</summary>
  4104.     <remarks>This property returns the default datum used by a majority of GPS devices, World Geodetic System 1984.</remarks>
  4105.     <seealso cref="T:StormSource.Gps.Datum">Datum Class</seealso>
  4106.     <seealso cref="F:StormSource.Gps.Geodesy.DefaultEllipsoid">DefaultEllipsoid Field</seealso>
  4107. </member><member name="F:StormSource.Gps.Geodesy.DefaultEllipsoid">
  4108.     <summary>Returns the WGS1984 ellipsoid object.</summary>
  4109.     <remarks>This property returns the default ellipsoid used by a majority of GPS devices, World Geodetic System 1984.</remarks>
  4110.     <seealso cref="T:StormSource.Gps.Ellipsoid">Ellipsoid Class</seealso>
  4111.     <seealso cref="F:StormSource.Gps.Geodesy.DefaultDatum">DefaultDatum Field</seealso>
  4112. </member><member name="M:StormSource.Gps.Geodesy.GetEllipsoid(StormSource.Gps.EllipsoidType)">
  4113.     <summary>Returns a <strong>Ellipsoid</strong> object.</summary>
  4114.     <param name="type">A value from the <strong>EllipsoidType</strong> enumeration.</param>
  4115.     <remarks>This method is typically used to retrieve information about a specific ellipsoid from the built-in list.</remarks>
  4116.     <seealso cref="T:StormSource.Gps.EllipsoidType">EllipsoidType Enumeration</seealso>
  4117.     <seealso cref="T:StormSource.Gps.Ellipsoid">Ellipsoid Class</seealso>
  4118. </member><member name="M:StormSource.Gps.Geodesy.GetDatum(StormSource.Gps.DatumType)">
  4119.     <summary>Returns a <strong>Datum</strong> object.</summary>
  4120.     <param name="type">A value from the <strong>DatumType</strong> enumeration.</param>
  4121.     <remarks>This method is typically used to retrieve information about a specific datum from the built-in list.</remarks>
  4122.     <seealso cref="T:StormSource.Gps.DatumType">DatumType Enumeration</seealso>
  4123.     <seealso cref="T:StormSource.Gps.Datum">Datum Class</seealso>
  4124. </member><member name="M:StormSource.Gps.Geodesy.GetDatum(System.String)">
  4125.     <summary>Returns a <strong>Datum</strong> object.</summary>
  4126.     <param name="code">A <strong>String</strong> specifying a built-in or user-defined datum.</param>
  4127.     <remarks>This method is typically used to retrieve information about a user-defined datum.</remarks>
  4128.     <seealso cref="T:StormSource.Gps.DatumType">DatumType Enumeration</seealso>
  4129.     <seealso cref="T:StormSource.Gps.Datum">Datum Class</seealso>
  4130. </member><member name="M:StormSource.Gps.Geodesy.ToPosition(StormSource.Gps.UtmPosition)">
  4131.     <summary>
  4132.  Converts a Universal Transverse Mercator (UTM) coordinate to a spherical coordinate.
  4133.  </summary>
  4134. </member><member name="M:StormSource.Gps.Geodesy.ToUtmPosition(StormSource.Gps.Position)">
  4135.     <summary>
  4136.  Converts a spherical coordinate to a Universal Transverse Mercator (UTM) coordinate.
  4137.  </summary>
  4138. </member><member name="M:StormSource.Gps.Geodesy.TranslateTo(StormSource.Gps.Position,StormSource.Gps.MolodenskyTransform,StormSource.Gps.MolodenskyTransform)">
  4139.     <overloads>Converts a coordinate to another coordinate system.</overloads>
  4140. </member><member name="M:StormSource.Gps.Geodesy.GetMolodenskyTransform(System.String)">
  4141.     <overloads>Returns a <strong>MolodenskyTransform</strong> object.</overloads>
  4142. </member><member name="P:StormSource.Gps.Geodesy.MolodenskyTransforms">
  4143.     <summary>Returns the entire collection of coordinate conversion 
  4144.  transformations.</summary>
  4145. </member><member name="P:StormSource.Gps.Geodesy.Datums">
  4146.     <summary>Returns the entire collection of known coordinate system refernce 
  4147.  points.</summary>
  4148. </member><member name="P:StormSource.Gps.Geodesy.Ellipsoids">
  4149.     <summary>
  4150.  Returns the entire collection of known interpretations of Earth's shape and
  4151.  size.
  4152.  </summary>
  4153. </member><member name="T:StormSource.Gps.Geodesy">
  4154.     <summary>
  4155.  Contains information which describes the shape and size of the Earth, as well as
  4156.  information about known coordinate systems and conversions.
  4157.  </summary>
  4158.     <remarks>
  4159.  This non-creatable class provides an organized way to access the complete
  4160.  collection of <see cref="P:StormSource.Gps.Geodesy.Ellipsoids">ellipsoids</see>,
  4161.  <see cref="P:StormSource.Gps.Geodesy.Datums">datums</see>,
  4162.  <see cref="P:StormSource.Gps.Geodesy.MolodenskyTransforms">Molodensky transforms</see>, and coordinate 
  4163.  conversions such as to and from UTM and latitude/longitude coordinate systems.
  4164.  </remarks>
  4165.     <example>
  4166.  This example uses the Geodesy class to list information on all known datums and ellipsoids. 
  4167.  <code lang="VB">
  4168.  Dim MyDatum As Datum
  4169.  Dim MyEllipsoid As Ellipsoid
  4170.  
  4171.  ' Output each known datum
  4172.  For Each MyDatum In Geodesy.Datums
  4173.      ' Output information about this datum
  4174.      Debug.WriteLine(MyDatum.Name)
  4175.  Next 
  4176.  ' Output each known ellipsoid
  4177.  For Each MyEllipsoid In Geodesy.Ellipsoids
  4178.      ' Output information about this ellipsoid
  4179.      Debug.WriteLine(MyEllipsoid.Name)
  4180.  Next 
  4181.  </code>
  4182.         <code lang="C#">
  4183.  // Output each known datum
  4184.  foreach(Datum MyDatum in Geodesy.Datums)
  4185.  {
  4186.      // Output information about this datum
  4187.      Debug.WriteLine(MyDatum.Name);
  4188.  }
  4189.  // Output each known ellipsoid
  4190.  foreach(Ellipsoid MyEllipsoid in Geodesy.Ellipsoids)
  4191.  {
  4192.      // Output information about this ellipsoid
  4193.      Debug.WriteLine(MyEllipsoid.Name)
  4194.  }
  4195.  </code>
  4196.     </example>
  4197.     <seealso cref="T:StormSource.Gps.Datum">Datum Class</seealso>
  4198.     <seealso cref="T:StormSource.Gps.Ellipsoid">Ellipsoid Class</seealso>
  4199.     <seealso cref="T:StormSource.Gps.MolodenskyTransform">MolodenskyTransform Class</seealso>
  4200. </member><member name="P:StormSource.Gps.UtmPositionCollection.First">
  4201.     <summary>Returns the first item in the collection, if one exists.</summary>
  4202. </member><member name="P:StormSource.Gps.UtmPositionCollection.Last">
  4203.     <summary>Returns the last item in the collection, if it exists.</summary>
  4204. </member><member name="M:StormSource.Gps.UtmPositionCollection.Add(StormSource.Gps.UtmPosition)">
  4205.     <summary>Adds a Position to the end of the collection.</summary>
  4206. </member><member name="M:StormSource.Gps.UtmPositionCollection.AddRange(System.Collections.ICollection)">
  4207.     <summary>Adds a collection of Position objects to the current collection.</summary>
  4208. </member><member name="P:StormSource.Gps.UtmPositionCollection.Item(System.Int32)">
  4209.     <summary>Returns a Position object a the specified index.</summary>
  4210. </member><member name="P:StormSource.Gps.UtmPositionCollection.Items">
  4211.     <summary>Returns an enumerable list of all Positions in the collection.</summary>
  4212. </member><member name="M:StormSource.Gps.UtmPositionCollection.Translate(StormSource.Gps.Angle,StormSource.Gps.Distance)">
  4213.     <summary>Shifts the entire collection be the specified bearing and distance.</summary>
  4214. </member><member name="M:StormSource.Gps.UtmPositionCollection.MinimumTime(StormSource.Gps.Speed)">
  4215.     <summary>
  4216.  Returns the total travel time when traveling through all positions at the given
  4217.  speed.
  4218.  </summary>
  4219. </member><member name="M:StormSource.Gps.UtmPositionCollection.MinimumSpeed(System.TimeSpan)">
  4220.     <summary>
  4221.  Returns the minimum travel speed required to travel through all positions within
  4222.  the given time.
  4223.  </summary>
  4224. </member><member name="P:StormSource.Gps.UtmPositionCollection.TotalDistance">
  4225.     <summary>Returns the total distance to travel through all points.</summary>
  4226. </member><member name="T:StormSource.Gps.UtmPositionCollection">
  4227.     <summary>Represents an arbitrary collection of locations on the Earth's 
  4228.  surface.</summary>
  4229.     <remarks>
  4230.  This collection provides methods which work with a connected group of locations,
  4231.  such as
  4232.  <see cref="P:StormSource.Gps.UtmPositionCollection.TotalDistance">total travel distance</see>,
  4233.  <see cref="M:StormSource.Gps.UtmPositionCollection.MinimumTime(StormSource.Gps.Speed)">total travel time</see>, and
  4234.  <see cref="M:StormSource.Gps.UtmPositionCollection.MinimumSpeed(System.TimeSpan)">minimum travel speed</see>. This collection is the base class for Garmin┬« position
  4235.  collections such as
  4236.  <see cref="T:StormSource.Gps.WaypointCollection">waypoints</see>. This class is recommended as a base class for custom actions which work with
  4237.  groups of positions.
  4238.  </remarks>
  4239. </member><member name="M:StormSource.Gps.Datum.#ctor(System.String,System.String,StormSource.Gps.EllipsoidType)">
  4240.     <summary>Creates a custom datum to use for specialized coordinate conversions.</summary>
  4241.     <remarks>
  4242.  This constructor is typically used to create a custom coordinate system used for
  4243.  specialized coordinate system conversions.
  4244.  </remarks>
  4245.     <param name="name">A <strong>String</strong> containing the user-friendly name for the 
  4246.  datum.</param>
  4247.     <param name="code">An upper-case <strong>String</strong> containing a unique code for the
  4248.  datum.
  4249.  </param>
  4250.     <param name="ellipsoid">A value from the <see cref="T:StormSource.Gps.EllipsoidType">EllipsoidType</see>
  4251.  enumeration indicating an interpretation of the Earth's shape.
  4252.  </param>
  4253.     <seealso cref="T:StormSource.Gps.EllipsoidType">EllipsoidType Enumeration</seealso>
  4254.     <seealso cref="P:StormSource.Gps.Datum.Code">Code Property</seealso>
  4255.     <seealso cref="P:StormSource.Gps.Datum.Type">Type Property</seealso>
  4256.     <seealso cref="P:StormSource.Gps.Datum.Name">Name Property</seealso>
  4257. </member><member name="P:StormSource.Gps.Datum.Code">
  4258.     <summary>A unique value which allows a datum to be identified in a 
  4259.  collection.</summary>
  4260.     <value>
  4261.  Read only. A <strong>String</strong> value containing a unique identifier for the
  4262.  datum.
  4263.  </value>
  4264.     <remarks>
  4265.  This property is typically used by the <see cref="M:StormSource.Gps.Datum.GetDatum(StormSource.Gps.DatumType)">GetDatum</see> 
  4266.  method to return a user-defined datum. 
  4267.  </remarks>
  4268.     <seealso cref="P:StormSource.Gps.Datum.Type">Type Property</seealso>
  4269.     <seealso cref="P:StormSource.Gps.Datum.Code">Name Property</seealso>
  4270.     <seealso cref="M:StormSource.Gps.Datum.GetDatum(StormSource.Gps.DatumType)">GetDatum Method</seealso>
  4271. </member><member name="M:StormSource.Gps.Datum.GetDatum(StormSource.Gps.DatumType)">
  4272.     <summary>Returns a specific datum object based upon the given type.</summary>
  4273.     <returns>A <strong>Datum</strong> object.</returns>
  4274.     <remarks>
  4275.  This method should only be used to return a built-in datum. To access custom
  4276.  datum objects, use a <strong>String</strong> parameter instead of a
  4277.  <strong>DatumType</strong> value.
  4278.  </remarks>
  4279.     <seealso cref="M:StormSource.Gps.Datum.GetDatum(StormSource.Gps.DatumType)">GetDatum Method</seealso>
  4280.     <seealso cref="P:StormSource.Gps.Datum.Type">Type Property</seealso>
  4281.     <param name="datumType">
  4282.  A value from the
  4283.  <see cref="T:StormSource.Gps.DatumType">DatumType</see>
  4284.  enumeration.
  4285.  </param>
  4286. </member><member name="M:StormSource.Gps.Datum.GetDatum(System.String)">
  4287.     <summary>Returns a specific datum object based upon the given code.</summary>
  4288.     <returns>A <strong>Datum</strong> object.</returns>
  4289.     <remarks>
  4290.  This method should only be used to return a built-in or user-defined datum based upon its unique alphanumeric code. 
  4291.  </remarks>
  4292.     <seealso cref="M:StormSource.Gps.Datum.GetDatum(StormSource.Gps.DatumType)">GetDatum Method</seealso>
  4293.     <seealso cref="P:StormSource.Gps.Datum.Type">Type Property</seealso>
  4294.     <param name="code">A <strong>String</strong>
  4295.         <see cref="T:StormSource.Gps.DatumType">DatumType</see>
  4296.  enumeration.
  4297.  </param>
  4298. </member><member name="P:StormSource.Gps.Datum.Type">
  4299.     <summary>Represents a unique identifier for a datum object.</summary>
  4300.     <value>
  4301.  Read only. A value from the
  4302.  <see cref="T:StormSource.Gps.DatumType">DatumType</see>
  4303.  enumeration.
  4304.  </value>
  4305.     <remarks>
  4306.  This property is typically used by the
  4307.  <see cref="M:StormSource.Gps.Geodesy.GetDatum(StormSource.Gps.DatumType)">GetDatum</see> method to return information about a specific datum. This property is
  4308.  similar to the
  4309.  <see cref="P:StormSource.Gps.Datum.Code">code</see>
  4310.  property since it uniquely identifies a datum. If a custom datum has been created, this
  4311.  property will contain a value of
  4312.  <see cref="T:StormSource.Gps.DatumType">DatumType.UserDefined</see>.
  4313.  </remarks>
  4314.     <seealso cref="T:StormSource.Gps.DatumType">DatumType Enumeration</seealso>
  4315.     <seealso cref="P:StormSource.Gps.Datum.Code">Code Property</seealso>
  4316.     <seealso cref="M:StormSource.Gps.Datum.GetDatum(StormSource.Gps.DatumType)">GetDatum Method</seealso>
  4317. </member><member name="P:StormSource.Gps.Datum.Ellipsoid">
  4318.     <summary>Returns the interpretation of Earth's shape associated with a datum.</summary>
  4319.     <value>
  4320.  Read only. An
  4321.  <see cref="P:StormSource.Gps.Datum.Ellipsoid">Ellipsoid</see>
  4322.  object.
  4323.  </value>
  4324.     <remarks>Each datum is associated with an ellipsoid, which is an interpretation of Earth's shape and 
  4325.  size.</remarks>
  4326.     <example>
  4327.  This example gets information on the ellipsoid associated with the WGS84 datum.
  4328.  <code lang="VB">
  4329.  ' Get information about the NAD1983 datum
  4330.  Dim MyDatum As Datum = Geodesy.GetDatum(DatumType.NorthAmerican1983)
  4331.  ' Get the ellipsoid associated with this datum
  4332.  Dim MyEllipsoid As Ellipsoid = MyDatum.Ellipsoid
  4333.  ' Write the semi-major axis of the ellipsoid
  4334.  Debug.WriteLine(MyEllipsoid.SemiMajorAxis.ToString())
  4335.  </code>
  4336.         <code lang="C#">
  4337.  // Get information about the NAD1983 datum
  4338.  Datum MyDatum = Geodesy.GetDatum(DatumType.NorthAmerican1983);
  4339.  // Get the ellipsoid associated with this datum
  4340.  Ellipsoid MyEllipsoid = MyDatum.Ellipsoid;
  4341.  // Write the semi-major axis of the ellipsoid
  4342.  Debug.WriteLine(MyEllipsoid.SemiMajorAxis.ToString());
  4343.  </code>
  4344.     </example>
  4345.     <seealso cref="T:StormSource.Gps.Ellipsoid">Ellipsoid Class</seealso>
  4346. </member><member name="M:StormSource.Gps.Datum.Equals(StormSource.Gps.Datum)">
  4347.     <summary>
  4348.  Compares the current instance to the specified datum object.
  4349.  </summary>
  4350. </member><member name="M:StormSource.Gps.Datum.Equals(StormSource.Gps.DatumType)">
  4351.     <summary>
  4352.  Compares the current instance to the specified datum type.
  4353.  </summary>
  4354. </member><member name="P:StormSource.Gps.Datum.Name">
  4355.     <summary>Returns a user-friendly name for a datum.</summary>
  4356.     <value>Read only. A <strong>String</strong> value.</value>
  4357.     <remarks>
  4358.  This property is typically used for displaying in a user interface, such as a
  4359.  drop-down box or <see cref="T:System.Windows.Forms.ListView">ListView</see> control.
  4360.  </remarks>
  4361.     <seealso cref="P:StormSource.Gps.Datum.Code">Code Property</seealso>
  4362. </member><member name="T:StormSource.Gps.Datum">
  4363.     <summary>Represents a coordinate system based on interpretations of the Earth's shape and size.</summary>
  4364.     <remarks>
  4365.         <para>Throughout history, new interpretations of the specific
  4366.  <see cref="T:StormSource.Gps.Ellipsoid">size and shape of the Earth</see> have evolved thanks to improvements 
  4367.  in science and technology. While these interpretations change, however, several maps 
  4368.  still exist using the older interpretations. Thus, several datums are recorded to allow 
  4369.  for <see cref="T:StormSource.Gps.MolodenskyTransform">conversion between different
  4370.  coordinate systems</see> and to preserve the usefulness of older maps.</para>
  4371.         <para><img src="Datum.jpg"/></para>
  4372.     </remarks>
  4373.     <seealso cref="T:StormSource.Gps.Ellipsoid">Ellipsoid Class</seealso>
  4374.     <seealso cref="T:StormSource.Gps.MolodenskyTransform">MolodenskyTransform Class</seealso>
  4375. </member><member name="M:StormSource.Gps.Radian.#ctor">
  4376.     <summary>Creates a new instance.</summary>
  4377. </member><member name="M:StormSource.Gps.Radian.#ctor(System.Double)">
  4378.     <summary>Creates a new instance with the specified value.</summary>
  4379.     <remarks>
  4380.  this constructor is typically used to initialize an instance when the radian
  4381.  value is already known.
  4382.  </remarks>
  4383.     <param name="value">A value to store in the <strong>Value</strong> property.</param>
  4384. </member><member name="P:StormSource.Gps.Radian.Value">
  4385.     <summary>Represents the numeric portion of a radian measurement.</summary>
  4386.     <value>
  4387.  A <strong>Double</strong> value indicating an angular measurement expressed in
  4388.  radians.
  4389.  </value>
  4390.     <remarks>
  4391.  This property stores the numeric radian measurement. When this property changes,
  4392.  the
  4393.  <see cref="E:StormSource.Gps.Radian.ValueChanged(System.Object,StormSource.Gps.RadianEventArgs)">
  4394.  ValueChanged</see> event is raised. A radian can be converted into a degree
  4395.  measurements via the
  4396.  <see cref="M:StormSource.Gps.Radian.ToAngle(StormSource.Gps.Radian)">
  4397.  ToAngle</see> method.
  4398.  </remarks>
  4399. </member><member name="M:StormSource.Gps.Radian.FromAngle(StormSource.Gps.Angle)">
  4400.     <summary>
  4401.  Converts the specified angle into radians, storing the result in the current
  4402.  instance.
  4403.  </summary>
  4404.     <remarks>
  4405.  This method is typically used when a Radian object is being reused for
  4406.  conversions from multiple
  4407.  <see cref="T:StormSource.Gps.Angle">Angle</see>
  4408.  objects.
  4409.  </remarks>
  4410.     <param name="value">An <strong>Angle</strong> containing the value to convert.</param>
  4411. </member><member name="M:StormSource.Gps.Radian.FromAngle(System.Double)">
  4412.     <summary>Converts an arbitrary degree measurement into radians.</summary>
  4413.     <remarks>
  4414.  This method is used to perform a conversion from degrees to radians when no angle
  4415.  object is present.
  4416.  </remarks>
  4417.     <param name="value">A <strong>Double</strong> containing the decimal degrees to 
  4418.  convert.</param>
  4419. </member><member name="M:StormSource.Gps.Radian.ToAngle">
  4420.     <summary>Converts the current instance into an <strong>Angle</strong> object.</summary>
  4421.     <returns>An <strong>Angle</strong> object.</returns>
  4422.     <remarks>
  4423.  This method is typically used to convert a radian measurement back to latitude or
  4424.  longitude after a trigonometric formula has completed.
  4425.  </remarks>
  4426. </member><member name="T:StormSource.Gps.Radian">
  4427.     <summary>Represents a unit of angular measurement used by trigonometric 
  4428.  euqations.</summary>
  4429.     <remarks>
  4430.         <para>While the GPS.NET framework includes several trigonometric formulas,
  4431.      developers may still want to implement their own formulas for specialized purposes.
  4432.      Most trigonometric formulas rely upon angular measurements expressed as radians
  4433.      instead of degrees.</para>
  4434.         <para><strong>Radian Explanation</strong></para>
  4435.         <para>A radian is a unit of measure of an angle formed by an arc whose length is
  4436.      the same as the circle's radius:</para>
  4437.         <para>
  4438.             <img src="file:///C:/Source/StormSource/GPS.NET%20Global%20Positioning%20SDK/Version%201.4/Docu
  4439.  mentation/Radian.jpg"/>
  4440.         </para>
  4441.     </remarks>
  4442. </member><member name="F:StormSource.Gps.BaudRate.Baud110">
  4443.     <summary>110 bits per second.</summary>
  4444. </member><member name="F:StormSource.Gps.BaudRate.Baud300">
  4445.     <summary>300 bits per second.</summary>
  4446. </member><member name="F:StormSource.Gps.BaudRate.Baud600">
  4447.     <summary>600 bits per second.</summary>
  4448. </member><member name="F:StormSource.Gps.BaudRate.Baud1200">
  4449.     <summary>1,200 bits per second.</summary>
  4450. </member><member name="F:StormSource.Gps.BaudRate.Baud2400">
  4451.     <summary>2,400 bits per second.</summary>
  4452. </member><member name="F:StormSource.Gps.BaudRate.Baud4800">
  4453.     <summary>4,800 bits per second.  Recommended value for devices transmitting GPS data using NMEA-0183.</summary>
  4454. </member><member name="F:StormSource.Gps.BaudRate.Baud9600">
  4455.     <summary>9,600 bits per second.  Recommended value for devices transmitting GPS data using the Garmin┬« binary protocol.</summary>
  4456. </member><member name="F:StormSource.Gps.BaudRate.Baud14400">
  4457.     <summary>14,400 bits per second.</summary>
  4458. </member><member name="F:StormSource.Gps.BaudRate.Baud19200">
  4459.     <summary>19,200 bits per second.</summary>
  4460. </member><member name="F:StormSource.Gps.BaudRate.Baud38400">
  4461.     <summary>38,400 bits per second.</summary>
  4462. </member><member name="F:StormSource.Gps.BaudRate.Baud56000">
  4463.     <summary>56,000 bits per second.</summary>
  4464. </member><member name="F:StormSource.Gps.BaudRate.Baud57600">
  4465.     <summary>56,700 bits per second.</summary>
  4466. </member><member name="F:StormSource.Gps.BaudRate.Baud115200">
  4467.     <summary>115,200 bits per second.</summary>
  4468. </member><member name="F:StormSource.Gps.BaudRate.Baud128000">
  4469.     <summary>128,000 bits per second.</summary>
  4470. </member><member name="F:StormSource.Gps.BaudRate.Baud256000">
  4471.     <summary>256,000 bits per second.</summary>
  4472. </member><member name="T:StormSource.Gps.BaudRate">
  4473.     <summary>
  4474.  Indicates the speed of serial port communications.
  4475.  </summary>
  4476.     <remarks>
  4477.         <para>This enumeration is used by the <see cref="T:StormSource.Gps.BaudRate">BaudRate</see> property of the <see cref="T:StormSource.Gps.Device">Device</see>
  4478.  and <see cref="T:StormSource.Gps.Receiver">Receiver</see> classes.  A value of <strong>Baud4800</strong> is used by default for the Receiver class, and is the most
  4479.  commonly-used baud rate.  Some newer devices will transmit NMEA data at much higher baud rates, but
  4480.  4800 baud handles a majority of devices on the market.  A value of <strong>Baud9600</strong> is used for
  4481.  Garmin┬« devices set to use the Garmin┬« binary protocol.</para>
  4482.     </remarks>
  4483.     <seealso cref="P:StormSource.Gps.Device.BaudRate">BaudRate Property (Device Class)</seealso>
  4484.     <seealso cref="P:StormSource.Gps.Receiver.BaudRate">BaudRate Property (Receiver Class)</seealso>
  4485. </member><member name="F:StormSource.Gps.Parity.None">
  4486.     <summary>No parity is used.  The default value used by the Receiver and a majority of GPS devices.</summary>
  4487. </member><member name="F:StormSource.Gps.Parity.Odd">
  4488.     <summary>Returns 1 if the counted number of on bits is odd.</summary>
  4489. </member><member name="F:StormSource.Gps.Parity.Even">
  4490.     <summary>Returns 1 if the counted number of on bits is even.</summary>
  4491. </member><member name="F:StormSource.Gps.Parity.Mark">
  4492.     <summary>Sends a constant "mark" signal.  Rarely used.</summary>
  4493. </member><member name="F:StormSource.Gps.Parity.Space">
  4494.     <summary>Sends a constant "space" signal.  Rarely used.</summary>
  4495. </member><member name="T:StormSource.Gps.Parity">
  4496.     <summary>
  4497.  Describes the method of simple error-checking used during serial communications.
  4498.  </summary>
  4499.     <remarks>This enumeration is used by the <see cref="P:StormSource.Gps.Receiver.Parity">Parity</see> property 
  4500.  of the <see cref="T:StormSource.Gps.Receiver">Receiver</see> class. A parity bit affords a small (yet 
  4501.  crude by today's standards) amount of error checking, to help detect data corruption that might occur during 
  4502.  transmission. You can choose either even parity, odd parity, mark parity, space parity or 
  4503.  none at all.   Typically, GPS devices use a value of <strong>None</strong>, which is the 
  4504.  default used by the Receiver class.</remarks>
  4505.     <seealso cref="P:StormSource.Gps.Receiver.Parity">Parity Property (Receiver Class)</seealso>
  4506.     <seealso cref="P:StormSource.Gps.Device.Parity">Parity Property (Device Class)</seealso>
  4507. </member><member name="F:StormSource.Gps.DataBit.Size4">
  4508.     <summary>Four bytes of data are sent after each stop bit.</summary>
  4509. </member><member name="F:StormSource.Gps.DataBit.Size5">
  4510.     <summary>Five bytes of data are sent after each stop bit.</summary>
  4511. </member><member name="F:StormSource.Gps.DataBit.Size6">
  4512.     <summary>Six bytes of data are sent after each stop bit.</summary>
  4513. </member><member name="F:StormSource.Gps.DataBit.Size7">
  4514.     <summary>Seven bytes of data are sent after each stop bit.</summary>
  4515. </member><member name="F:StormSource.Gps.DataBit.Size8">
  4516.     <summary>Eight bytes of data are sent after each stop bit.  The default value used by the Receiver and a majority of GPS devices.</summary>
  4517. </member><member name="T:StormSource.Gps.DataBit">
  4518.     <summary>
  4519.  Describes the number of bits of data sent by a serial device after each stop bit.
  4520.  </summary>
  4521.     <remarks>This enumeration is used by the <see cref="P:StormSource.Gps.Receiver.DataBits">DataBits</see> 
  4522.  property of the <see cref="T:StormSource.Gps.Receiver">Receiver</see> class to control how many bits are 
  4523.  sent between each stop bit.  Typically, GPS devices use <strong>Size8</strong>, which 
  4524.  is the default of the Receiver class.</remarks>
  4525.     <seealso cref="P:StormSource.Gps.Receiver.DataBits">DataBits Property (Receiver Class)</seealso>
  4526.     <seealso cref="P:StormSource.Gps.Device.DataBits">DataBits Property (Device Class)</seealso>
  4527. </member><member name="F:StormSource.Gps.StopBit.Bit1">
  4528.     <summary>The stop bit is sent for one bit period.</summary>
  4529. </member><member name="F:StormSource.Gps.StopBit.Bit2">
  4530.     <summary>The stop bit is sent for two bit periods.</summary>
  4531. </member><member name="F:StormSource.Gps.StopBit.Bit1Point5">
  4532.     <summary>The stop bit is sent for one-and-a-half bit periods.</summary>
  4533. </member><member name="T:StormSource.Gps.StopBit">
  4534.     <summary>
  4535.  Describes the length of time that a stop bit is sent, in bit periods.
  4536.  </summary>
  4537.     <remarks>This enumeration is used by the <see cref="P:StormSource.Gps.Receiver.StopBits">StopBits</see> 
  4538.  property of the <see cref="T:StormSource.Gps.Receiver">Receiver</see> class to indicate how many stop 
  4539.  bits are being sent between blocks of data to and from a serial device.  Typically, most 
  4540.  GPS devices use a value of <strong>Bit1</strong>, which is the default of the 
  4541.  <see cref="T:StormSource.Gps.Receiver">Receiver</see> class.</remarks>
  4542.     <seealso cref="P:StormSource.Gps.Receiver.StopBits">StopBits Property (Receiver Class)</seealso>
  4543.     <seealso cref="P:StormSource.Gps.Device.StopBits">StopBits Property (Device Class)</seealso>
  4544. </member><member name="T:StormSource.Gps.UtmZone">
  4545.     <summary>Indicates a vertical slice of the Earth used as a starting point for UTM positions.</summary>
  4546. </member><member name="F:StormSource.Gps.FixLikelihood.Unlikely">
  4547.     <summary>Indicates that a fix is not likely to be obtained.</summary>
  4548.     <remarks>When this value is returned, nearly all of the available GPS satellite signals are being obscured by buildings, trees, or other solid objects.  The device should be moved into a more open view of the sky.</remarks>
  4549. </member><member name="F:StormSource.Gps.FixLikelihood.Possible">
  4550.     <summary>Indicates that a fix is possible, but will likely be unstable.</summary>
  4551.     <remarks>When this value is returned, a few satellite signals are available, but the combined signals are too weak to maintain a fix for long.  The device should be moved into a more open view of the sky.</remarks>
  4552. </member><member name="F:StormSource.Gps.FixLikelihood.Likely">
  4553.     <summary>Indicates that a fix is possible and likely to be stable.</summary>
  4554.     <remarks>When this value is returned, at least three satellite signals are being received clearly.  If conditions stay the same or improve, a fix is imminent.</remarks>
  4555. </member><member name="F:StormSource.Gps.FixLikelihood.Certain">
  4556.     <summary>Indicates that a fix is certain and very likely to be stable.</summary>
  4557.     <remarks>When this value is returned, several satellite signals are being received and are strong enough to maintain a fix.</remarks>
  4558. </member><member name="T:StormSource.Gps.FixLikelihood">
  4559.     <summary>Indicates the liklihood that a fix will be obtained based on the combined signal strengths of all satellites.</summary>
  4560.     <remarks>This enumeration is used by the <see cref="T:StormSource.Gps.FixLikelihood">FixLikelihood</see>
  4561.  property of the <see cref="T:StormSource.Gps.Receiver">Receiver</see> class to give an indication of what
  4562.  the satellite fix experience will be like for the next several seconds.
  4563.  </remarks>
  4564.     <example>
  4565.  This example uses the FixLikelihood enumeration to make a judgement call on the stability
  4566.  of the fix.
  4567.  <code lang="VB">
  4568.  ' Declare a new receiver
  4569.  Private WithEvents MyReceiver As New Receiver()
  4570.  
  4571.  Sub Main()
  4572.      ' Start listening for messages
  4573.      MyReceiver.Start
  4574.  End Sub
  4575.  
  4576.  Sub OnFixLikelihoodChanged(ByVal sender As Object, ByVal e As FixLikelihoodEventArgs) Handles MyReceiver.FixLikelihoodChanged
  4577.      ' Do we have a fix currently?
  4578.      If MyReceiver.IsFixObtained Then
  4579.          ' Yes.  What's the likelihood that the fix will be sustained?
  4580.          Select Case MyReceiver.FixLikelihood
  4581.              Case FixLikelihood.Unlikely
  4582.                  Debug.WriteLine("The current fix is about to be lost!")
  4583.              Case FixLikelihood.Possible
  4584.                  Debug.WriteLine("The current fix is unstable.  Find a more open view of the sky soon.")
  4585.              Case FixLikelihood.Likely
  4586.                  Debug.WriteLine("The current fix is nearly stable.")
  4587.              Case FixLikelihood.Certain
  4588.                  Debug.WriteLine("The current fix is stable.")
  4589.          End Select
  4590.      Else
  4591.          ' No. What's the likelihood that a fix will be obtained?
  4592.          Select Case MyReceiver.FixLikelihood
  4593.              Case FixLikelihood.Unlikely
  4594.                  Debug.WriteLine("A fix is not possible.  Find a more open view of the sky.")
  4595.              Case FixLikelihood.Possible
  4596.                  Debug.WriteLine("A fix is possible, but satellite signals are still mostly obscured.")
  4597.              Case FixLikelihood.Likely
  4598.                  Debug.WriteLine("A fix should occur within the next several seconds.")
  4599.              Case FixLikelihood.Certain
  4600.                  Debug.WriteLine("A fix will occur in a few seconds.")
  4601.          End Select
  4602.      End If
  4603.  End Sub
  4604.  </code>
  4605.         <code lang="C#">
  4606.  ' Declare a new receiver
  4607.  Private Receiver MyReceiver = new Receiver();
  4608.  
  4609.  void Main()
  4610.  {
  4611.      // Start listening for messages
  4612.      MyReceiver.Start();
  4613.  }
  4614.  
  4615.  void OnFixLikelihoodChanged(Object sender, FixLikelihoodEventArgs e)
  4616.  {
  4617.      // Do we have a fix currently?
  4618.      if (MyReceiver.IsFixObtained)
  4619.      {
  4620.          // Yes.  What's the likelihood that the fix will be sustained?
  4621.          switch(MyReceiver.FixLikelihood)
  4622.          {
  4623.              case FixLikelihood.Unlikely:
  4624.                  Debug.WriteLine("The current fix is about to be lost!");
  4625.                  break;
  4626.              case FixLikelihood.Possible:
  4627.                  Debug.WriteLine("The current fix is unstable.  Find a more open view of the sky soon.");
  4628.                  break;
  4629.              case FixLikelihood.Likely:
  4630.                  Debug.WriteLine("The current fix is nearly stable.");
  4631.                  break;
  4632.              case FixLikelihood.Certain:
  4633.                  Debug.WriteLine("The current fix is stable.");
  4634.                  break;
  4635.          }
  4636.      }
  4637.      else
  4638.      {
  4639.          // No. What's the likelihood that a fix will be obtained?
  4640.          switch(MyReceiver.FixLikelihood)
  4641.          {
  4642.              case FixLikelihood.Unlikely:
  4643.                  Debug.WriteLine("A fix is not possible.  Find a more open view of the sky.");
  4644.                  break;
  4645.              case FixLikelihood.Possible:
  4646.                  Debug.WriteLine("A fix is possible, but satellite signals are still mostly obscured.");
  4647.                  break;
  4648.              case FixLikelihood.Likely:
  4649.                  Debug.WriteLine("A fix should occur within the next several seconds.");
  4650.                  break;
  4651.              case FixLikelihood.Certain:
  4652.                  Debug.WriteLine("A fix will occur in a few seconds.");
  4653.                  break;
  4654.          }
  4655.      }
  4656.  }
  4657.  </code>
  4658.     </example>
  4659.     <seealso cref="P:StormSource.Gps.Receiver.FixLikelihood">FixLikelihood Property (Receiver Class)</seealso>
  4660. </member><member name="F:StormSource.Gps.CardinalDirection.North">
  4661.     <summary>An azimuth of approximately 0┬░</summary>
  4662. </member><member name="F:StormSource.Gps.CardinalDirection.NorthNorthEast">
  4663.     <summary>Between north and northeast</summary>
  4664. </member><member name="F:StormSource.Gps.CardinalDirection.NorthEast">
  4665.     <summary>Between north and east</summary>
  4666. </member><member name="F:StormSource.Gps.CardinalDirection.EastNorthEast">
  4667.     <summary>Between east and northeast</summary>
  4668. </member><member name="F:StormSource.Gps.CardinalDirection.East">
  4669.     <summary>An azimuth of approximately 90┬░</summary>
  4670. </member><member name="F:StormSource.Gps.CardinalDirection.EastSouthEast">
  4671.     <summary>Between east and southeast</summary>
  4672. </member><member name="F:StormSource.Gps.CardinalDirection.SouthEast">
  4673.     <summary>Between south and east</summary>
  4674. </member><member name="F:StormSource.Gps.CardinalDirection.SouthSouthEast">
  4675.     <summary>Between south and southeast</summary>
  4676. </member><member name="F:StormSource.Gps.CardinalDirection.South">
  4677.     <summary>An azimuth of approximately 180┬░</summary>
  4678. </member><member name="F:StormSource.Gps.CardinalDirection.SouthSouthWest">
  4679.     <summary>Between south and southwest</summary>
  4680. </member><member name="F:StormSource.Gps.CardinalDirection.SouthWest">
  4681.     <summary>Between south and west</summary>
  4682. </member><member name="F:StormSource.Gps.CardinalDirection.WestSouthWest">
  4683.     <summary>Between west and southwest</summary>
  4684. </member><member name="F:StormSource.Gps.CardinalDirection.West">
  4685.     <summary>An azimuth of approximately 270┬░</summary>
  4686. </member><member name="F:StormSource.Gps.CardinalDirection.WestNorthWest">
  4687.     <summary>Between west and northwest</summary>
  4688. </member><member name="F:StormSource.Gps.CardinalDirection.NorthWest">
  4689.     <summary>Between north and west</summary>
  4690. </member><member name="F:StormSource.Gps.CardinalDirection.NorthNorthWest">
  4691.     <summary>Between north and northwest</summary>
  4692. </member><member name="T:StormSource.Gps.CardinalDirection">
  4693.     <summary>Indicates a compass direction oriented with true north (as opposed to
  4694.  magnetic north).</summary>
  4695.     <remarks>
  4696.  This enumeration is commonly used by the
  4697.  <see cref="T:StormSource.Gps.CardinalDirection">CardinalDirection</see> property of the
  4698.  <see cref="T:StormSource.Gps.Azimuth">Azimuth</see>
  4699.  class to convert an angular measurement in decimal degrees to a more readable
  4700.  form.
  4701.  </remarks>
  4702.     <seealso cref="P:StormSource.Gps.Azimuth.CardinalDirection">CardinalDirection Property (Azimuth Class)</seealso>
  4703. </member><member name="F:StormSource.Gps.WaypointDisplayMode.Hidden">
  4704.     <summary>The waypoint is not displayed.</summary>
  4705. </member><member name="F:StormSource.Gps.WaypointDisplayMode.SymbolOnly">
  4706.     <summary>Only the symbol is displayed, not the name or description.</summary>
  4707. </member><member name="F:StormSource.Gps.WaypointDisplayMode.SymbolWithName">
  4708.     <summary>Only the symbol and name of the waypoint is displayed.</summary>
  4709. </member><member name="F:StormSource.Gps.WaypointDisplayMode.SymbolWithComment">
  4710.     <summary>Only the symbol and description of the waypoint is displayed.</summary>
  4711. </member><member name="T:StormSource.Gps.WaypointDisplayMode">
  4712.     <summary>
  4713.  Garmin┬« devices only. Indicates how much information about a waypoint is
  4714.  displayed on-screen.
  4715.  </summary>
  4716.     <remarks>
  4717.  This enumeration is used by the DisplayMode property of the Waypoint class. Not
  4718.  all display modes are supported by all devices. To find out which display modes are
  4719.  supported, see the <see cref="M:StormSource.Gps.Device.GetDisplayModes">GetDisplayModes</see>
  4720.  method of the <see cref="T:StormSource.Gps.Device">Device</see> class.
  4721.  </remarks>
  4722.     <seealso cref="P:StormSource.Gps.Waypoint.DisplayMode">DisplayMode Property (Waypoint Class)</seealso>
  4723.     <seealso cref="M:StormSource.Gps.Device.GetDisplayModes">GetDisplayModes Method (Device Class)</seealso>
  4724. </member><member name="F:StormSource.Gps.WaypointClass.UserDefined">
  4725.     <summary>The waypoint was created by the user.</summary>
  4726. </member><member name="F:StormSource.Gps.WaypointClass.AviationAirport">
  4727.     <summary>The waypoint marks an airport.</summary>
  4728. </member><member name="F:StormSource.Gps.WaypointClass.AviationNdb">
  4729.     <summary>The waypoint marks a Non-Directional Beacon used for navigation.</summary>
  4730. </member><member name="F:StormSource.Gps.WaypointClass.AviationVor">
  4731.     <summary>The waypoint marks a VHF Omnidirectional Radio beacon.</summary>
  4732. </member><member name="F:StormSource.Gps.WaypointClass.AviationAirportRunway">
  4733.     <summary>The waypoint marks a runway at an airport.</summary>
  4734. </member><member name="F:StormSource.Gps.WaypointClass.AviationAirportNdb">
  4735.     <summary>The waypoint marks a Non-Directional Beacon at an airport.</summary>
  4736. </member><member name="F:StormSource.Gps.WaypointClass.MapIntersection">
  4737.     <summary>The waypoint marks a road intersection.</summary>
  4738. </member><member name="T:StormSource.Gps.WaypointClass">
  4739.     <summary>Indicates a classification for a waypoint.</summary>
  4740.     <remarks>
  4741.  The class of a waypoint is designed to be used as a read-only indicator, and will
  4742.  always be <strong>UserDefined</strong> for any waypoint created using the GPS.NET
  4743.  framework.
  4744.  </remarks>
  4745.     <seealso cref="P:StormSource.Gps.Waypoint.Class">Class Property (Waypoint Class)</seealso>
  4746. </member><member name="F:StormSource.Gps.WaypointColor.Default">
  4747.     <summary>The default color, typically black.</summary>
  4748. </member><member name="F:StormSource.Gps.WaypointColor.Red">
  4749.     <summary>Red.</summary>
  4750. </member><member name="F:StormSource.Gps.WaypointColor.Green">
  4751.     <summary>Green.</summary>
  4752. </member><member name="F:StormSource.Gps.WaypointColor.Blue">
  4753.     <summary>Blue.</summary>
  4754. </member><member name="F:StormSource.Gps.WaypointColor.Black">
  4755.     <summary>Black.</summary>
  4756. </member><member name="F:StormSource.Gps.WaypointColor.DarkRed">
  4757.     <summary>Dark red.</summary>
  4758. </member><member name="F:StormSource.Gps.WaypointColor.DarkGreen">
  4759.     <summary>Dark green.</summary>
  4760. </member><member name="F:StormSource.Gps.WaypointColor.DarkYellow">
  4761.     <summary>Dark yellow.</summary>
  4762. </member><member name="F:StormSource.Gps.WaypointColor.DarkBlue">
  4763.     <summary>Dark blue.</summary>
  4764. </member><member name="F:StormSource.Gps.WaypointColor.DarkMagenta">
  4765.     <summary>Dark magenta.</summary>
  4766. </member><member name="F:StormSource.Gps.WaypointColor.DarkCyan">
  4767.     <summary>Dark cyan.</summary>
  4768. </member><member name="F:StormSource.Gps.WaypointColor.LightGray">
  4769.     <summary>Light gray.</summary>
  4770. </member><member name="F:StormSource.Gps.WaypointColor.DarkGray">
  4771.     <summary>Dark gray.</summary>
  4772. </member><member name="F:StormSource.Gps.WaypointColor.Yellow">
  4773.     <summary>Yellow.</summary>
  4774. </member><member name="F:StormSource.Gps.WaypointColor.Magenta">
  4775.     <summary>Magenta.</summary>
  4776. </member><member name="F:StormSource.Gps.WaypointColor.Cyan">
  4777.     <summary>Cyan.</summary>
  4778. </member><member name="F:StormSource.Gps.WaypointColor.White">
  4779.     <summary>White.</summary>
  4780. </member><member name="T:StormSource.Gps.WaypointColor">
  4781.     <summary>Indicates the color of a waypoint as it is displayed on-screen.</summary>
  4782.     <remarks>
  4783.  This enumeration is used by the
  4784.  <see cref="P:StormSource.Gps.Waypoint.Color">Color</see> property of the
  4785.  <see cref="T:StormSource.Gps.Waypoint">Waypoint</see>
  4786.  class. Support for waypoint colors varies widely depending on the model of GPS device
  4787.  being used. To find out which specific colors are supported, use the
  4788.  <see cref="M:StormSource.Gps.Device.GetColors">GetColors</see> method of the
  4789.  <see cref="T:StormSource.Gps.Device">Device</see> class.
  4790.  </remarks>
  4791.     <seealso cref="P:StormSource.Gps.Waypoint.Color">Color Property (Waypoint Class)</seealso>
  4792.     <seealso cref="M:StormSource.Gps.Device.GetColors">GetColors Method (Device Class)</seealso>
  4793. </member><member name="F:StormSource.Gps.WaypointSymbol.Anchor">
  4794.     <summary>A boat anchor.</summary>
  4795. </member><member name="F:StormSource.Gps.WaypointSymbol.Bell">
  4796.     <summary>An alarm bell.</summary>
  4797. </member><member name="F:StormSource.Gps.WaypointSymbol.DiamondGreen">
  4798.     <summary>A diamond colored green.</summary>
  4799. </member><member name="F:StormSource.Gps.WaypointSymbol.DiamondRed">
  4800.     <summary>A diamond colored red.</summary>
  4801. </member><member name="F:StormSource.Gps.WaypointSymbol.DiverDownFlag1">
  4802.     <summary>A flag indicating a diver is in the water.</summary>
  4803. </member><member name="F:StormSource.Gps.WaypointSymbol.DiverDownFlag2">
  4804.     <summary>A flag indicating a diver is in the water.</summary>
  4805. </member><member name="F:StormSource.Gps.WaypointSymbol.Dollar">
  4806.     <summary>A dollar sign.</summary>
  4807. </member><member name="F:StormSource.Gps.WaypointSymbol.Fish">
  4808.     <summary>A fish.</summary>
  4809. </member><member name="F:StormSource.Gps.WaypointSymbol.Fuel">
  4810.     <summary>A gas pump.</summary>
  4811. </member><member name="F:StormSource.Gps.WaypointSymbol.Horn">
  4812.     <summary>A horn.</summary>
  4813. </member><member name="F:StormSource.Gps.WaypointSymbol.House">
  4814.     <summary>A house.</summary>
  4815. </member><member name="F:StormSource.Gps.WaypointSymbol.Knife">
  4816.     <summary>A knife.</summary>
  4817. </member><member name="F:StormSource.Gps.WaypointSymbol.Light">
  4818.     <summary>A light bulb.</summary>
  4819. </member><member name="F:StormSource.Gps.WaypointSymbol.Mug">
  4820.     <summary>A beer mug.</summary>
  4821. </member><member name="F:StormSource.Gps.WaypointSymbol.Skull">
  4822.     <summary>A skull.</summary>
  4823. </member><member name="F:StormSource.Gps.WaypointSymbol.SquareGreen">
  4824.     <summary>A square colored green.</summary>
  4825. </member><member name="F:StormSource.Gps.WaypointSymbol.SquareRed">
  4826.     <summary>A square colored red.</summary>
  4827. </member><member name="F:StormSource.Gps.WaypointSymbol.Buoy">
  4828.     <summary>A buoy in the water.</summary>
  4829. </member><member name="F:StormSource.Gps.WaypointSymbol.Dot">
  4830.     <summary>A dot. Typically used as a default symbol.</summary>
  4831. </member><member name="F:StormSource.Gps.WaypointSymbol.Wreck">
  4832.     <summary>A shipwreck.</summary>
  4833. </member><member name="F:StormSource.Gps.WaypointSymbol.Transparent">
  4834.     <summary>No symbol.</summary>
  4835. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyAmber">
  4836.     <summary>A buoy colored amber.</summary>
  4837. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyBlack">
  4838.     <summary>A buoy colored black.</summary>
  4839. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyBlue">
  4840.     <summary>A buoy colored blue.</summary>
  4841. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyGreen">
  4842.     <summary>A buoy colored green.</summary>
  4843. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyGreenAndRed">
  4844.     <summary>A buoy colored in green and red stripes.</summary>
  4845. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyGreenAndWhite">
  4846.     <summary>A buoy colored in green and white stripes.</summary>
  4847. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyOrange">
  4848.     <summary>A buoy colored orange.</summary>
  4849. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyRed">
  4850.     <summary>A buoy colored red.</summary>
  4851. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyRedAndGreen">
  4852.     <summary>A buoy colored red and green.</summary>
  4853. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyRedAndWhite">
  4854.     <summary>A buoy colored red and white.</summary>
  4855. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyViolet">
  4856.     <summary>A buoy colored violet.</summary>
  4857. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyWhite">
  4858.     <summary>A buoy colored white.</summary>
  4859. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyWhiteAndGreen">
  4860.     <summary>A buoy colored white and green.</summary>
  4861. </member><member name="F:StormSource.Gps.WaypointSymbol.BuoyWhiteAndRed">
  4862.     <summary>A buoy colored white and red.</summary>
  4863. </member><member name="F:StormSource.Gps.WaypointSymbol.DotWhite">
  4864.     <summary>A dot colored white.</summary>
  4865. </member><member name="F:StormSource.Gps.WaypointSymbol.RadioBeacon">
  4866.     <summary>A radio beacon.</summary>
  4867. </member><member name="F:StormSource.Gps.WaypointSymbol.BoatRamp">
  4868.     <summary>A boat ramp.</summary>
  4869. </member><member name="F:StormSource.Gps.WaypointSymbol.Camp">
  4870.     <summary>A campsite.</summary>
  4871. </member><member name="F:StormSource.Gps.WaypointSymbol.Restrooms">
  4872.     <summary>A public bathroom.</summary>
  4873. </member><member name="F:StormSource.Gps.WaypointSymbol.Showers">
  4874.     <summary>Public showers.</summary>
  4875. </member><member name="F:StormSource.Gps.WaypointSymbol.DrinkingWater">
  4876.     <summary>A drinking fountain.</summary>
  4877. </member><member name="F:StormSource.Gps.WaypointSymbol.Phone">
  4878.     <summary>A public telephone.</summary>
  4879. </member><member name="F:StormSource.Gps.WaypointSymbol.FirstAid">
  4880.     <summary>A first aid station or hospital.</summary>
  4881. </member><member name="F:StormSource.Gps.WaypointSymbol.Info">
  4882.     <summary>An information center, typically a rest stop.</summary>
  4883. </member><member name="F:StormSource.Gps.WaypointSymbol.Parking">
  4884.     <summary>A parking lot.</summary>
  4885. </member><member name="F:StormSource.Gps.WaypointSymbol.Park">
  4886.     <summary>A public park.</summary>
  4887. </member><member name="F:StormSource.Gps.WaypointSymbol.Picnic">
  4888.     <summary>A picnic area.</summary>
  4889. </member><member name="F:StormSource.Gps.WaypointSymbol.Scenic">
  4890.     <summary>A scenic point or overlook.</summary>
  4891. </member><member name="F:StormSource.Gps.WaypointSymbol.Skiing">
  4892.     <summary>A ski resort or water skiing location.</summary>
  4893. </member><member name="F:StormSource.Gps.WaypointSymbol.Swimming">
  4894.     <summary>A swimming pool.</summary>
  4895. </member><member name="F:StormSource.Gps.WaypointSymbol.Dam">
  4896.     <summary>A dam.</summary>
  4897. </member><member name="F:StormSource.Gps.WaypointSymbol.Controlled">
  4898.     <summary>A controlled area.</summary>
  4899. </member><member name="F:StormSource.Gps.WaypointSymbol.Danger">
  4900.     <summary>A dangerous place.</summary>
  4901. </member><member name="F:StormSource.Gps.WaypointSymbol.Restricted">
  4902.     <summary>A restricted area.</summary>
  4903. </member><member name="F:StormSource.Gps.WaypointSymbol.Null">
  4904.     <summary>No symbol.</summary>
  4905. </member><member name="F:StormSource.Gps.WaypointSymbol.Ball">
  4906.     <summary>A ball, typically marking a recreation area.</summary>
  4907. </member><member name="F:StormSource.Gps.WaypointSymbol.Car">
  4908.     <summary>A car dealership or repair center.</summary>
  4909. </member><member name="F:StormSource.Gps.WaypointSymbol.Deer">
  4910.     <summary>A deer, typically a hunting area.</summary>
  4911. </member><member name="F:StormSource.Gps.WaypointSymbol.ShoppingCart">
  4912.     <summary>A place with shops.</summary>
  4913. </member><member name="F:StormSource.Gps.WaypointSymbol.Lodging">
  4914.     <summary>A lodge or resort.</summary>
  4915. </member><member name="F:StormSource.Gps.WaypointSymbol.Mine">
  4916.     <summary>A mining facility or site.</summary>
  4917. </member><member name="F:StormSource.Gps.WaypointSymbol.TrailHead">
  4918.     <summary>The beginning of a hiking trail.</summary>
  4919. </member><member name="F:StormSource.Gps.WaypointSymbol.TruckStop">
  4920.     <summary>A truck stop.</summary>
  4921. </member><member name="F:StormSource.Gps.WaypointSymbol.Exit">
  4922.     <summary>A highway exit.</summary>
  4923. </member><member name="F:StormSource.Gps.WaypointSymbol.Flag">
  4924.     <summary>A flag, typically a government facility.</summary>
  4925. </member><member name="F:StormSource.Gps.WaypointSymbol.CircleX">
  4926.     <summary>X marks the spot.</summary>
  4927. </member><member name="F:StormSource.Gps.WaypointSymbol.InterstateHighway">
  4928.     <summary>A four-or-more-lane highway which crosses state lines.</summary>
  4929. </member><member name="F:StormSource.Gps.WaypointSymbol.USHighway">
  4930.     <summary>A two-lane highway which crosses state lines.</summary>
  4931. </member><member name="F:StormSource.Gps.WaypointSymbol.StateHighway">
  4932.     <summary>A two-lane highway.</summary>
  4933. </member><member name="F:StormSource.Gps.WaypointSymbol.MileMarker">
  4934.     <summary>A sign which indicates the distance from a state border.</summary>
  4935. </member><member name="F:StormSource.Gps.WaypointSymbol.TracBack">
  4936.     <summary>Used to mark a point in the device's track log.</summary>
  4937. </member><member name="F:StormSource.Gps.WaypointSymbol.Golf">
  4938.     <summary>A golf club.</summary>
  4939. </member><member name="F:StormSource.Gps.WaypointSymbol.SmallCity">
  4940.     <summary>A small-sized city.</summary>
  4941. </member><member name="F:StormSource.Gps.WaypointSymbol.MediumCity">
  4942.     <summary>A medium-sized city.</summary>
  4943. </member><member name="F:StormSource.Gps.WaypointSymbol.LargeCity">
  4944.     <summary>A large city.</summary>
  4945. </member><member name="F:StormSource.Gps.WaypointSymbol.Freeway">
  4946.     <summary>A multi-lane highway.</summary>
  4947. </member><member name="F:StormSource.Gps.WaypointSymbol.NationalHighway">
  4948.     <summary>A national highway.</summary>
  4949. </member><member name="F:StormSource.Gps.WaypointSymbol.CapitolCity">
  4950.     <summary>A state capitol.</summary>
  4951. </member><member name="F:StormSource.Gps.WaypointSymbol.AmusementPark">
  4952.     <summary>An amusement park.</summary>
  4953. </member><member name="F:StormSource.Gps.WaypointSymbol.Bowling">
  4954.     <summary>A bowling lane.</summary>
  4955. </member><member name="F:StormSource.Gps.WaypointSymbol.CarRental">
  4956.     <summary>A car rental.</summary>
  4957. </member><member name="F:StormSource.Gps.WaypointSymbol.CarRepair">
  4958.     <summary>A car repair shop.</summary>
  4959. </member><member name="F:StormSource.Gps.WaypointSymbol.FastFood">
  4960.     <summary>A fast food drive-thru.</summary>
  4961. </member><member name="F:StormSource.Gps.WaypointSymbol.Fitness">
  4962.     <summary>A workout club or health spa.</summary>
  4963. </member><member name="F:StormSource.Gps.WaypointSymbol.MovieTheater">
  4964.     <summary>A movie theater.</summary>
  4965. </member><member name="F:StormSource.Gps.WaypointSymbol.Museum">
  4966.     <summary>A museum.</summary>
  4967. </member><member name="F:StormSource.Gps.WaypointSymbol.Pharmacy">
  4968.     <summary>A pharmacy.</summary>
  4969. </member><member name="F:StormSource.Gps.WaypointSymbol.Pizza">
  4970.     <summary>A pizza restaurant.</summary>
  4971. </member><member name="F:StormSource.Gps.WaypointSymbol.PostOffice">
  4972.     <summary>A post office.</summary>
  4973. </member><member name="F:StormSource.Gps.WaypointSymbol.RVPark">
  4974.     <summary>A recreational vehicle park.</summary>
  4975. </member><member name="F:StormSource.Gps.WaypointSymbol.School">
  4976.     <summary>A school or university.</summary>
  4977. </member><member name="F:StormSource.Gps.WaypointSymbol.Stadium">
  4978.     <summary>A sports arena.</summary>
  4979. </member><member name="F:StormSource.Gps.WaypointSymbol.DepartmentStore">
  4980.     <summary>A shopping mall or department store.</summary>
  4981. </member><member name="F:StormSource.Gps.WaypointSymbol.Zoo">
  4982.     <summary>A zoo.</summary>
  4983. </member><member name="F:StormSource.Gps.WaypointSymbol.ConvenienceStore">
  4984.     <summary>A convenience store.</summary>
  4985. </member><member name="F:StormSource.Gps.WaypointSymbol.LiveTheater">
  4986.     <summary>A theater for live performances.</summary>
  4987. </member><member name="F:StormSource.Gps.WaypointSymbol.RampIntersection">
  4988.     <summary>An exit or intersection of two ramps, typically an exit and on-ramp 
  4989.  pair.</summary>
  4990. </member><member name="F:StormSource.Gps.WaypointSymbol.StreetIntersection">
  4991.     <summary>Marks the intersection of two streets.</summary>
  4992. </member><member name="F:StormSource.Gps.WaypointSymbol.WeighStation">
  4993.     <summary>A weight station for trucks.</summary>
  4994. </member><member name="F:StormSource.Gps.WaypointSymbol.TollBooth">
  4995.     <summary>A booth at the beginning or end of a pay-per-use road.</summary>
  4996. </member><member name="F:StormSource.Gps.WaypointSymbol.ElevationPoint">
  4997.     <summary>
  4998.  A place marking a high point such as a mountaintop or highest point in the
  4999.  state.
  5000.  </summary>
  5001. </member><member name="F:StormSource.Gps.WaypointSymbol.ExitWithoutServices">
  5002.     <summary>An exit for a rural road which leads to no gas stations or lodging.</summary>
  5003. </member><member name="F:StormSource.Gps.WaypointSymbol.GeographicPlaceNameManMade">
  5004.     <summary>
  5005.  A large, natural yet man-made landmark, such as Mount Rushmore or Hoover
  5006.  Dam.
  5007.  </summary>
  5008. </member><member name="F:StormSource.Gps.WaypointSymbol.GeographicPlaceNameWater">
  5009.     <summary>A body of water, such as a lake, bay or lagoon.</summary>
  5010. </member><member name="F:StormSource.Gps.WaypointSymbol.GeographicPlaceNameLand">
  5011.     <summary>
  5012.  A significant landmark not on water, such as the Grand Canyon, or Carlsbad
  5013.  Caverns.
  5014.  </summary>
  5015. </member><member name="F:StormSource.Gps.WaypointSymbol.Bridge">
  5016.     <summary>A bridge.</summary>
  5017. </member><member name="F:StormSource.Gps.WaypointSymbol.Building">
  5018.     <summary>A building.</summary>
  5019. </member><member name="F:StormSource.Gps.WaypointSymbol.Cemetery">
  5020.     <summary>A cemetery.</summary>
  5021. </member><member name="F:StormSource.Gps.WaypointSymbol.Church">
  5022.     <summary>A church.</summary>
  5023. </member><member name="F:StormSource.Gps.WaypointSymbol.CivilLocation">
  5024.     <summary>
  5025.  A location of civil services, typically a court or other government
  5026.  building.
  5027.  </summary>
  5028. </member><member name="F:StormSource.Gps.WaypointSymbol.Crossing">
  5029.     <summary>A crossing location.</summary>
  5030. </member><member name="F:StormSource.Gps.WaypointSymbol.HistoricalTown">
  5031.     <summary>A preserved historical town or landmark.</summary>
  5032. </member><member name="F:StormSource.Gps.WaypointSymbol.Levee">
  5033.     <summary>A smaller dam.</summary>
  5034. </member><member name="F:StormSource.Gps.WaypointSymbol.Military">
  5035.     <summary>A military base or school.</summary>
  5036. </member><member name="F:StormSource.Gps.WaypointSymbol.OilField">
  5037.     <summary>An oil field.</summary>
  5038. </member><member name="F:StormSource.Gps.WaypointSymbol.Tunnel">
  5039.     <summary>A tunnel.</summary>
  5040. </member><member name="F:StormSource.Gps.WaypointSymbol.Beach">
  5041.     <summary>A beach location.</summary>
  5042. </member><member name="F:StormSource.Gps.WaypointSymbol.Forest">
  5043.     <summary>A forest.</summary>
  5044. </member><member name="F:StormSource.Gps.WaypointSymbol.Summit">
  5045.     <summary>Marks the top of a mountain.</summary>
  5046. </member><member name="F:StormSource.Gps.WaypointSymbol.LargeRampIntersection">
  5047.     <summary>A large ramp, such as one which connects one large highway to 
  5048.  another.</summary>
  5049. </member><member name="F:StormSource.Gps.WaypointSymbol.LargeExitNoServices">
  5050.     <summary>A larger exit which has no services in its path.</summary>
  5051. </member><member name="F:StormSource.Gps.WaypointSymbol.Police">
  5052.     <summary>A police or highway patrol station.</summary>
  5053. </member><member name="F:StormSource.Gps.WaypointSymbol.Casino">
  5054.     <summary>A casino.</summary>
  5055. </member><member name="F:StormSource.Gps.WaypointSymbol.Snowski">
  5056.     <summary>A snow ski resort.</summary>
  5057. </member><member name="F:StormSource.Gps.WaypointSymbol.Iceskate">
  5058.     <summary>An ice skating rink.</summary>
  5059. </member><member name="F:StormSource.Gps.WaypointSymbol.Wrecker">
  5060.     <summary>A towing service.</summary>
  5061. </member><member name="F:StormSource.Gps.WaypointSymbol.PortOfEntry">
  5062.     <summary>A port of entry, typically in an oceanside city.</summary>
  5063. </member><member name="F:StormSource.Gps.WaypointSymbol.Airport">
  5064.     <summary>A rural or international airport.</summary>
  5065. </member><member name="F:StormSource.Gps.WaypointSymbol.Intersection">
  5066.     <summary>A general intersection of roads, trails, and etc.</summary>
  5067. </member><member name="F:StormSource.Gps.WaypointSymbol.NonDirectionalBeacon">
  5068.     <summary>A marker used for NDB airplane navigation.</summary>
  5069. </member><member name="F:StormSource.Gps.WaypointSymbol.VhfOmniRangeSignal">
  5070.     <summary>A marker used for VOR airplane navigation.</summary>
  5071. </member><member name="F:StormSource.Gps.WaypointSymbol.Heliport">
  5072.     <summary>A helicopter port.</summary>
  5073. </member><member name="F:StormSource.Gps.WaypointSymbol.PrivateField">
  5074.     <summary>A private airfield.</summary>
  5075. </member><member name="F:StormSource.Gps.WaypointSymbol.SoftField">
  5076.     <summary>A rural airport with no concrete or asphalt runway.</summary>
  5077. </member><member name="F:StormSource.Gps.WaypointSymbol.TallTower">
  5078.     <summary>
  5079.  A tall tower which has lights to warn aircraft, typically marking a radio
  5080.  tower.
  5081.  </summary>
  5082. </member><member name="F:StormSource.Gps.WaypointSymbol.ShortTower">
  5083.     <summary>A shorter tower which could have lights to warn aircraft.</summary>
  5084. </member><member name="F:StormSource.Gps.WaypointSymbol.Glider">
  5085.     <summary>An airport which provides glider rides.</summary>
  5086. </member><member name="F:StormSource.Gps.WaypointSymbol.Ultralight">
  5087.     <summary>An airport which provides ultralight rides.</summary>
  5088. </member><member name="F:StormSource.Gps.WaypointSymbol.Parachute">
  5089.     <summary>An airport which provides parachute rides.</summary>
  5090. </member><member name="F:StormSource.Gps.WaypointSymbol.VorTacan">
  5091.     <summary>A marker used for TACtical Air Navigation.</summary>
  5092. </member><member name="F:StormSource.Gps.WaypointSymbol.VorDme">
  5093.     <summary>A marker used for Distance Measuring Equipment on airplanes.</summary>
  5094. </member><member name="F:StormSource.Gps.WaypointSymbol.FirstApproachFix">
  5095.     <summary>A marker used for first landing approach.</summary>
  5096. </member><member name="F:StormSource.Gps.WaypointSymbol.LocalizerOuterMarker">
  5097.     <summary>A marker signifying an outer marker.</summary>
  5098. </member><member name="F:StormSource.Gps.WaypointSymbol.MissedApproachPoint">
  5099.     <summary>A point at which a landing attempt should be aborted.</summary>
  5100. </member><member name="F:StormSource.Gps.WaypointSymbol.Tacan">
  5101.     <summary>A marker used for TACtical Air Navigation.</summary>
  5102. </member><member name="F:StormSource.Gps.WaypointSymbol.SeaplaneBase">
  5103.     <summary>An airport or rural location which supports aircraft which lands on 
  5104.  water.</summary>
  5105. </member><member name="F:StormSource.Gps.WaypointSymbol.Gas">
  5106.     <summary>A gas station or other refueling point.</summary>
  5107. </member><member name="F:StormSource.Gps.WaypointSymbol.Boat">
  5108.     <summary>A boat rental or launch area.</summary>
  5109. </member><member name="F:StormSource.Gps.WaypointSymbol.BackTrack">
  5110.     <summary>A marker which indicates a return route.</summary>
  5111. </member><member name="T:StormSource.Gps.WaypointSymbol">
  5112.     <summary>Indicates the symbol used to represent a waypoint in graphical form.</summary>
  5113.     <remarks>
  5114.  Symbols are the most common method used to identify a waypoint, track point, or
  5115.  any other kind of marker. This enumeration is typically used by the
  5116.  <see cref="P:StormSource.Gps.Waypoint.Symbol">Symbol</see> property of the
  5117.  <see cref="T:StormSource.Gps.Waypoint">Waypoint</see>
  5118.  class. Since some devices only support a subset of this list, it is recommended that
  5119.  the <see cref="M:StormSource.Gps.Device.GetSymbols">GetSymbols</see> method of the
  5120.  <see cref="T:StormSource.Gps.Device">Device</see>
  5121.  class be used any time the user can choose a symbol.
  5122.  </remarks>
  5123.     <seealso cref="P:StormSource.Gps.Waypoint.Symbol">Symbol Property (StormSource.Gps.Waypoint)</seealso>
  5124.     <seealso cref="M:StormSource.Gps.Device.GetSymbols">GetSymbols Method (StormSource.Gps.Device)</seealso>
  5125. </member><member name="F:StormSource.Gps.LatitudeHemisphere.North">
  5126.     <summary>The latitude is north of the equator.</summary>
  5127. </member><member name="F:StormSource.Gps.LatitudeHemisphere.South">
  5128.     <summary>The latitude is south of the equator.</summary>
  5129. </member><member name="T:StormSource.Gps.LatitudeHemisphere">
  5130.     <summary>Indicates the position of a latitude measurement relative to the equator.</summary>
  5131.     <remarks>
  5132.         <para>This enumeration is used by the <see cref="P:StormSource.Gps.Latitude.Hemisphere">Hemisphere</see> 
  5133.  property of the <see cref="T:StormSource.Gps.Latitude">Latitude</see> class. If a latitude is south of the 
  5134.  equator, it's value is displayed as a negative number, or with a single letter (but not 
  5135.  both). For example, 39 degrees south of the equator can be expressed in either of these
  5136.  ways:</para>
  5137.         <list type="bullet">
  5138.             <item>39┬░S</item>
  5139.             <item>-39┬░</item>
  5140.         </list>
  5141.     </remarks>
  5142.     <seealso cref="P:StormSource.Gps.Longitude.Hemisphere">Hemisphere Property (Longitude Class)</seealso>
  5143.     <seealso cref="T:StormSource.Gps.LongitudeHemisphere">LongitudeHemisphere Enumeration</seealso>
  5144. </member><member name="F:StormSource.Gps.LongitudeHemisphere.East">
  5145.     <summary>The longitude is east of the Prime Meridian.</summary>
  5146. </member><member name="F:StormSource.Gps.LongitudeHemisphere.West">
  5147.     <summary>The longitude is west of the Prime Meridian.</summary>
  5148. </member><member name="T:StormSource.Gps.LongitudeHemisphere">
  5149.     <summary>Indicates the position of a longitude measurement relative to the <a href="http://www.greenwichmeridian.com/">Prime Meridian</a>.</summary>
  5150.     <remarks>
  5151.         <para>This enumeration is used by the <see cref="P:StormSource.Gps.Longitude.Hemisphere">Hemisphere</see> 
  5152.  property of the <see cref="T:StormSource.Gps.Longitude">Latitude</see> class. If a longitude is west of the 
  5153.  Prime Meridian, it's value is displayed as a negative number, or with a single letter (but not 
  5154.  both). For example, 105 degrees west can be expressed in either of these
  5155.  ways:</para>
  5156.         <list type="bullet">
  5157.             <item>105┬░W</item>
  5158.             <item>-105┬░</item>
  5159.         </list>
  5160.     </remarks>
  5161.     <seealso cref="P:StormSource.Gps.Latitude.Hemisphere">Hemisphere Property (Latitude Class)</seealso>
  5162.     <seealso cref="T:StormSource.Gps.LatitudeHemisphere">LatitudeHemisphere Enumeration</seealso>
  5163. </member><member name="F:StormSource.Gps.Manufacturer.Unknown">
  5164.     <summary>The manufacturer is unknown.</summary>
  5165. </member><member name="F:StormSource.Gps.Manufacturer.Garmin">
  5166.     <summary>
  5167.  Garmin International, Inc.
  5168.  (<a href="http://www.garmin.com">http://www.garmin.com</a>)
  5169.  </summary>
  5170. </member><member name="F:StormSource.Gps.Manufacturer.Magellan">
  5171.     <summary>
  5172.  Magellan, Inc.
  5173.  (<a href="http://www.magellangps.com">http://www.magellangps.com</a>)
  5174.  </summary>
  5175. </member><member name="F:StormSource.Gps.Manufacturer.DeLorme">
  5176.     <summary>
  5177.  DeLorme, Inc.
  5178.  (<a href="http://www.delorme.com">http://www.delorme.com</a>)
  5179.  </summary>
  5180. </member><member name="F:StormSource.Gps.Manufacturer.Lowrance">
  5181.     <summary>
  5182.  Lowrance Electronics, Inc.
  5183.  (<a href="http://www.lowrance.com">http://www.lowrance.com</a>)
  5184.  </summary>
  5185. </member><member name="F:StormSource.Gps.Manufacturer.Holux">
  5186.     <summary>
  5187.      Holux Technology, Inc.
  5188.      (<a href="http://www.holux.com">http://www.holux.com</a>)
  5189.  </summary>
  5190. </member><member name="F:StormSource.Gps.Manufacturer.Leica">
  5191.     <summary>Leica Geosystems, Inc.
  5192.  (<a href="http://www.leica-geosystems.com/corporate/en/lgs_index.htm">http://www.leica-geosystems.com/corporate/en/lgs_index.htm</a>)
  5193.  </summary>
  5194. </member><member name="T:StormSource.Gps.Manufacturer">
  5195.     <summary>Indicates the name of a company which makes GPS devices.</summary>
  5196.     <remarks>
  5197.  This enumeration is typically used by the
  5198.  <see cref="P:StormSource.Gps.Device.Manufacturer">Manufacturer</see> property of the
  5199.  <see cref="T:StormSource.Gps.Device">Device</see> class to indicate which manufacturer made the GPS device 
  5200.  which is currently in use.  During communications, if a custom message is received which 
  5201.  is sent by only one manufacturer, GPS.NET will try to partially identify the device.
  5202.  </remarks>
  5203.     <seealso cref="P:StormSource.Gps.Device.Manufacturer">Manufacturer Property (Device Class)</seealso>
  5204.     <seealso cref="T:StormSource.Gps.Device">Device Class</seealso>
  5205. </member><member name="F:StormSource.Gps.Protocol.Unknown">
  5206.     <summary>The protocol is unknown. Used when communications have not yet 
  5207.  begun.</summary>
  5208. </member><member name="F:StormSource.Gps.Protocol.Nmea">
  5209.     <summary>
  5210.  NMEA-0183, the most popular and common data protocol. Most devices support this
  5211.  protocol.
  5212.  </summary>
  5213. </member><member name="F:StormSource.Gps.Protocol.GarminBinary">
  5214.     <summary>
  5215.  Garmin┬« binary, used by Garmin┬« devices to transfer waypoints, routes, and
  5216.  tracks, but not recommended for positional data.
  5217.  </summary>
  5218. </member><member name="F:StormSource.Gps.Protocol.GarminText">
  5219.     <summary>Garmin┬« text, a very limited text protocol.</summary>
  5220. </member><member name="F:StormSource.Gps.Protocol.Sirf">
  5221.     <summary>SiRF binary, a thorough binary protocol (Not yet supported)</summary>
  5222. </member><member name="F:StormSource.Gps.Protocol.Magellan">
  5223.     <summary>An extention of the NMEA-0183 protocol. Not yet supported.</summary>
  5224. </member><member name="F:StormSource.Gps.Protocol.Lowrance">
  5225.     <summary>Not yet supported.</summary>
  5226. </member><member name="T:StormSource.Gps.Protocol">
  5227.     <summary>Indicates the method of communicating GPS data currently in use.</summary>
  5228.     <remarks>
  5229.  This enumeration is typically used by the
  5230.  <see cref="P:StormSource.Gps.Device.Protocol">Protocol</see> property of the
  5231.  <see cref="T:StormSource.Gps.Device">Device</see> class to indicate what method of
  5232.  communication is in use. The GPS.NET parsing engine will automatically detect the
  5233.  protocol, even if it is changed at run-time.
  5234.  </remarks>
  5235. </member><member name="F:StormSource.Gps.DilutionOfPrecisionRating.Ideal">
  5236.     <summary>
  5237.  The GPS device is making the most accurate measurements possible. Represents a
  5238.  value of 1.
  5239.  </summary>
  5240. </member><member name="F:StormSource.Gps.DilutionOfPrecisionRating.Excellent">
  5241.     <summary>
  5242.  The GPS device is making high-quality measurements, good enough for applications
  5243.  requiring higher levels of precision. Represents a value of 2 or 3.
  5244.  </summary>
  5245. </member><member name="F:StormSource.Gps.DilutionOfPrecisionRating.Good">
  5246.     <summary>
  5247.  The GPS device is making measurements accurate enough for en-route navigation.
  5248.  Represents a value between 4 and 6.
  5249.  </summary>
  5250. </member><member name="F:StormSource.Gps.DilutionOfPrecisionRating.Moderate">
  5251.     <summary>
  5252.  The GPS device is making measurements good enough to indicate the approximate
  5253.  location, but should be ignored by applications requiring high accuracy. Represents a
  5254.  value of 7 or 8.
  5255.  </summary>
  5256. </member><member name="F:StormSource.Gps.DilutionOfPrecisionRating.Fair">
  5257.     <summary>
  5258.  The GPS device is making measurements with an accuracy which should only be used
  5259.  to indicate the approximate location, but is not accurate enough for en-route
  5260.  navigation. Represents a value between 9 and 20.
  5261.  </summary>
  5262. </member><member name="F:StormSource.Gps.DilutionOfPrecisionRating.Poor">
  5263.     <summary>
  5264.  The GPS device is calculating the current location, but the accuracy is extremely
  5265.  low and may be off by a factor of fifty. Represents a value between 21 and the maximum
  5266.  possible of 50.
  5267.  </summary>
  5268. </member><member name="T:StormSource.Gps.DilutionOfPrecisionRating">
  5269.     <summary>
  5270.  Represents an in-English interpretation of the accuracy of a measurement made by
  5271.  the GPS device.
  5272.  </summary>
  5273.     <remarks>
  5274.  This enumeration is used by the
  5275.  <see cref="P:StormSource.Gps.DilutionOfPrecision.Rating">Rating</see> property of the
  5276.  <see cref="T:StormSource.Gps.DilutionOfPrecision">
  5277.  DilutionOfPrecision</see> class. This interpretation is subject to discussion as to
  5278.  what precisely constitutes a "good" versus "bad" DOP. Use your own best judgement based
  5279.  on the needs of your application. Generally speaking, a DOP of six or less is
  5280.  recommended for en-route navigation, and three or less for highly-precise measurements.
  5281.  A rating of <strong>Moderate</strong> corresponds with six or better, a rating of
  5282.  <strong>Excellent</strong> means three or less, and a rating of <strong>Ideal</strong>
  5283.  means the best value of one.
  5284.  </remarks>
  5285. </member><member name="F:StormSource.Gps.DilutionOfPrecisionType.Mean">
  5286.     <summary>
  5287.  The dilution of precision measurement is an overall measure of accuracy in
  5288.  latitude, longitude, or altitude.
  5289.  </summary>
  5290. </member><member name="F:StormSource.Gps.DilutionOfPrecisionType.Horizontal">
  5291.     <summary>
  5292.  The dilution of precision measurement is made in regards to latitude and
  5293.  longitude.
  5294.  </summary>
  5295. </member><member name="F:StormSource.Gps.DilutionOfPrecisionType.Vertical">
  5296.     <summary>The dilution of precision measurement is made in regards to 
  5297.  altitude.</summary>
  5298. </member><member name="T:StormSource.Gps.DilutionOfPrecisionType">
  5299.     <summary>
  5300.  Identifies what kind of measurements a dilution of precision value
  5301.  describes.
  5302.  </summary>
  5303.     <remarks>
  5304.  This enumeration is used by the
  5305.  <see cref="P:StormSource.Gps.DilutionOfPrecision.Type">Type</see> property of the
  5306.  <see cref="T:StormSource.Gps.DilutionOfPrecisionEventArgs">
  5307.  DilutionOfPrecisionEventArgs</see> to allow developers the ability to combine multiple
  5308.  DOP events into one method, yet still have a way to tell measurements apart.
  5309.  </remarks>
  5310. </member><member name="F:StormSource.Gps.PositionErrorType.Mean">
  5311.     <summary>An overall average of latitude, longitude and altitude measurements.</summary>
  5312. </member><member name="F:StormSource.Gps.PositionErrorType.Horizontal">
  5313.     <summary>A measurement of error as it relates to latitude and longitude.</summary>
  5314. </member><member name="F:StormSource.Gps.PositionErrorType.Vertical">
  5315.     <summary>A measurement of error as it relates to altitude.</summary>
  5316. </member><member name="T:StormSource.Gps.PositionErrorType">
  5317.     <summary>Indicates the type of error being measured.</summary>
  5318.     <remarks>
  5319.  This enumeration is used by the
  5320.  <see cref="P:StormSource.Gps.PositionError.Type">Type</see> property of the
  5321.  <see cref="T:StormSource.Gps.PositionError">PositionError</see> class to allow developers the ability to handle multiple position
  5322.  error events in one method and be able to tell objects apart.
  5323.  </remarks>
  5324. </member><member name="F:StormSource.Gps.RecommendedSteeringDirection.Left">
  5325.     <summary>Steer left or resume course.</summary>
  5326. </member><member name="F:StormSource.Gps.RecommendedSteeringDirection.Right">
  5327.     <summary>Steer right to resume course.</summary>
  5328. </member><member name="T:StormSource.Gps.RecommendedSteeringDirection">
  5329.     <summary>Indicates a steering direction recommended to correct cross-track 
  5330.  error.</summary>
  5331.     <remarks>
  5332.  This enumeration is most frequently used during flights to maintain the proper
  5333.  course to a navigation point.
  5334.  </remarks>
  5335. </member><member name="F:StormSource.Gps.DistanceUnit.Kilometers">
  5336.     <summary>Metric system. Kilometers (thousands of meters).</summary>
  5337. </member><member name="F:StormSource.Gps.DistanceUnit.NauticalMiles">
  5338.     <summary>Nautical miles, also known as "sea miles".</summary>
  5339. </member><member name="F:StormSource.Gps.DistanceUnit.StatuteMiles">
  5340.     <summary>Imperial system. A statute mile, most often referred to just as "mile."</summary>
  5341. </member><member name="F:StormSource.Gps.DistanceUnit.Meters">
  5342.     <summary>Metric system. Meters.</summary>
  5343. </member><member name="F:StormSource.Gps.DistanceUnit.Feet">
  5344.     <summary>Imperial system. Feet.</summary>
  5345. </member><member name="F:StormSource.Gps.DistanceUnit.Inches">
  5346.     <summary>Imperial system. Inches.</summary>
  5347. </member><member name="T:StormSource.Gps.DistanceUnit">
  5348.     <summary>Indicates the unit of measure for distance measurements.</summary>
  5349.     <remarks>
  5350.  This enumeration is most frequently used by the
  5351.  <see cref="P:StormSource.Gps.Distance.Units">Units</see> property of the
  5352.  <see cref="T:StormSource.Gps.Distance">Distance</see>
  5353.  class in conjunction with the <see cref="P:StormSource.Gps.Distance.Value">Value</see>
  5354.  property to describe a straight-line distance.
  5355.  </remarks>
  5356.     <seealso cref="P:StormSource.Gps.Distance.Value">Value Property (Distance Class)</seealso>
  5357.     <seealso cref="P:StormSource.Gps.Distance.Units">Units Property (Distance Class)</seealso>
  5358. </member><member name="F:StormSource.Gps.FixQuality.NoFix">
  5359.     <summary>No fix is currently obtained.</summary>
  5360. </member><member name="F:StormSource.Gps.FixQuality.GpsFix">
  5361.     <summary>A fix is currently obtained using GPS satellites only.</summary>
  5362. </member><member name="F:StormSource.Gps.FixQuality.DifferentialGpsFix">
  5363.     <summary>A fix is obtained using both GPS satellites and DGPS/WAAS ground 
  5364.  stations.</summary>
  5365. </member><member name="F:StormSource.Gps.FixQuality.Estimated">
  5366.     <summary>Rarely used. The fix is being estimated.</summary>
  5367. </member><member name="F:StormSource.Gps.FixQuality.NavigationFixNoRealtimePosition">
  5368.     <summary>Leica┬« devices only.  A navigation fix is obtained, but it may be out of date.  No real-time position is available.</summary>
  5369. </member><member name="F:StormSource.Gps.FixQuality.RealTimePositionAmbiguitiesNotFixed">
  5370.     <summary>Leica┬« devices only.  A real-time position has been obtained, but there are some unresolved accuracy ambiguities.</summary>
  5371. </member><member name="F:StormSource.Gps.FixQuality.RealTimePositionAmbiguitiesFixed">
  5372.     <summary>Leica┬« devices only.  A real-time position has been obtained and all accuracy ambiguities have been resolved.</summary>
  5373. </member><member name="T:StormSource.Gps.FixQuality">
  5374.     <summary>
  5375.  Indicates which devices are being used to obtain a fix, other than the GPS device
  5376.  itself.
  5377.  </summary>
  5378.     <remarks>
  5379.  This enumeration is typically used by the
  5380.  <see cref="P:StormSource.Gps.Receiver.FixQuality">FixQuaity</see> property of the
  5381.  <see cref="T:StormSource.Gps.Receiver">Receiver</see> class.
  5382.  </remarks>
  5383.     <example>
  5384.         <code lang="VB">
  5385.  ' Declare a new receiver
  5386.  Private WithEvents MyReceiver As New Receiver()
  5387.  
  5388.  ' Raised when the fix quality has changed
  5389.  Private Sub OnFixQualityChanged(ByVal sender As Object, ByVal e As FixQualityEventArgs)
  5390.      ' What is the new fix quality?
  5391.      Select Case e.FixQuality
  5392.          Case FixQuality.NoFix
  5393.              ' No fix is obtained
  5394.              Debug.WriteLine("No fix is currently obtained.")
  5395.          Case FixQuality.GpsFix
  5396.              ' A fix is present
  5397.              Debug.WriteLine("A fix has been obtained using only GPS satellites.")
  5398.          Case FixQuality.DifferentialGpsFix
  5399.              ' A differential fix is present
  5400.              Debug.WriteLine("A fix has been obtained using GPS satellites and correction information from DGPS/WAAS ground stations.")
  5401.          Case FixQuality.Estimated
  5402.              ' A fix is being estimated (not an actual fix)
  5403.              Debug.WriteLine("A fix is currently being estimated. ")
  5404.      End Select 
  5405.  End Sub
  5406.  </code>
  5407.         <code lang="C#">
  5408.  // Declare a new receiver
  5409.  Receiver MyReceiver = new Receiver();
  5410.  
  5411.  // Raised when the fix quality has changed
  5412.  void OnFixQualityChanged(Object sender, FixQualityEventArgs e)
  5413.  {
  5414.      // What is the new fix quality?
  5415.      switch(e.FixQuality)
  5416.      {
  5417.          case FixQuality.NoFix:
  5418.              // No fix is obtained
  5419.              Debug.WriteLine("No fix is currently obtained.");
  5420.          case FixQuality.GpsFix:
  5421.              // A fix is present
  5422.              Debug.WriteLine("A fix has been obtained using only GPS satellites.");
  5423.          case FixQuality.DifferentialGpsFix:
  5424.              // A differential fix is present
  5425.              Debug.WriteLine("A fix has been obtained using GPS satellites and correction information from DGPS/WAAS ground stations.");
  5426.          case FixQuality.Estimated:
  5427.              // A fix is being estimated (not an actual fix)
  5428.              Debug.WriteLine("A fix is currently being estimated. ");
  5429.      }
  5430.  }
  5431.  </code>
  5432.     </example>
  5433.     <seealso cref="P:StormSource.Gps.Receiver.FixQuality">FixQuality Property (Receiver Class)</seealso>
  5434. </member><member name="F:StormSource.Gps.ComPort.COM1">
  5435.     <summary>The GPS device is connected to COM1.</summary>
  5436. </member><member name="F:StormSource.Gps.ComPort.COM2">
  5437.     <summary>The GPS device is connected to COM2.</summary>
  5438. </member><member name="F:StormSource.Gps.ComPort.COM3">
  5439.     <summary>The GPS device is connected to COM3.</summary>
  5440. </member><member name="F:StormSource.Gps.ComPort.COM4">
  5441.     <summary>The GPS device is connected to COM4.</summary>
  5442. </member><member name="F:StormSource.Gps.ComPort.COM5">
  5443.     <summary>The GPS device is connected to COM5.</summary>
  5444. </member><member name="F:StormSource.Gps.ComPort.COM6">
  5445.     <summary>The GPS device is connected to COM6.</summary>
  5446. </member><member name="F:StormSource.Gps.ComPort.COM7">
  5447.     <summary>
  5448.  The GPS device is connected to COM7. A common default for PocketPC devices, such
  5449.  as Bluetooth, along with COM8.
  5450.  </summary>
  5451. </member><member name="F:StormSource.Gps.ComPort.COM8">
  5452.     <summary>
  5453.  The GPS device is connected to COM8. A common default for PocketPC devices, such
  5454.  as Bluetooth, along with COM7.
  5455.  </summary>
  5456. </member><member name="F:StormSource.Gps.ComPort.COM9">
  5457.     <summary>The GPS device is connected to COM9.</summary>
  5458. </member><member name="F:StormSource.Gps.ComPort.COM10">
  5459.     <summary>The GPS device is connected to COM10.</summary>
  5460. </member><member name="F:StormSource.Gps.ComPort.COM11">
  5461.     <summary>The GPS device is connected to COM11.</summary>
  5462. </member><member name="F:StormSource.Gps.ComPort.COM12">
  5463.     <summary>The GPS device is connected to COM12.</summary>
  5464. </member><member name="F:StormSource.Gps.ComPort.COM13">
  5465.     <summary>The GPS device is connected to COM13.</summary>
  5466. </member><member name="F:StormSource.Gps.ComPort.COM14">
  5467.     <summary>The GPS device is connected to COM14.</summary>
  5468. </member><member name="F:StormSource.Gps.ComPort.COM15">
  5469.     <summary>The GPS device is connected to COM15.</summary>
  5470. </member><member name="F:StormSource.Gps.ComPort.COM16">
  5471.     <summary>The GPS device is connected to COM16.</summary>
  5472. </member><member name="F:StormSource.Gps.ComPort.COM17">
  5473.     <summary>The GPS device is connected to COM17.</summary>
  5474. </member><member name="F:StormSource.Gps.ComPort.COM18">
  5475.     <summary>The GPS device is connected to COM18.</summary>
  5476. </member><member name="F:StormSource.Gps.ComPort.COM19">
  5477.     <summary>The GPS device is connected to COM19.</summary>
  5478. </member><member name="F:StormSource.Gps.ComPort.COM20">
  5479.     <summary>The GPS device is connected to COM20.</summary>
  5480. </member><member name="T:StormSource.Gps.ComPort">
  5481.     <summary>An enumeration used to specify which serial port a GPS device is connected to.</summary>
  5482.     <remarks>A valid COM port must be specified in order to begin working with GPS devices.  
  5483.  This enumeration of typically used by the
  5484.  <see cref="P:StormSource.Gps.Receiver.ComPort">ComPort</see> property of the
  5485.  <see cref="T:StormSource.Gps.Receiver">Receiver</see> and
  5486.  <see cref="T:StormSource.Gps.Device">Device</see> classes.
  5487.  </remarks>
  5488.     <seealso cref="P:StormSource.Gps.Receiver.ComPort">ComPort Property (Receiver Class)</seealso>
  5489.     <seealso cref="P:StormSource.Gps.Device.ComPort">ComPort Property (Device Class)</seealso>
  5490. </member><member name="F:StormSource.Gps.FixMode.Automatic">
  5491.     <summary>Typical value.  The GPS device is automatically deciding between a two- and three-dimensional fix.</summary>
  5492. </member><member name="F:StormSource.Gps.FixMode.Manual">
  5493.     <summary>Rare value.  The user must specify whether a two- or three-dimensional fix is to be used.</summary>
  5494. </member><member name="T:StormSource.Gps.FixMode">
  5495.     <summary>
  5496.  Indicates if the GPS device is automatically deciding between a 2-D and a 3-D
  5497.  fix.
  5498.  </summary>
  5499.     <remarks>
  5500.  This enumeration is used by the
  5501.  <see cref="P:StormSource.Gps.Receiver.FixMode">FixMode</see> property of the
  5502.  <see cref="T:StormSource.Gps.Receiver">Receiver</see>
  5503.  class. A vast majority of GPS devices use a setting of Automatic because there is no
  5504.  complicated math behind figuring out if a 2-D fix or 3-D fix is present. If there are
  5505.  three satellites involved in a fix, only the latitude and longitude can be calculated,
  5506.  so the fix is 2-D. If more than three involved, the fix is 3-D.
  5507.  </remarks>
  5508.     <seealso cref="P:StormSource.Gps.Receiver.FixMode">FixMode Property (Receiver Class)</seealso>
  5509. </member><member name="F:StormSource.Gps.FixMethod.NoFix">
  5510.     <summary>The GPS device does not have a fix on the current position.</summary>
  5511. </member><member name="F:StormSource.Gps.FixMethod.Fix2D">
  5512.     <summary>The GPS device is reporting latitude and longitude.</summary>
  5513. </member><member name="F:StormSource.Gps.FixMethod.Fix3D">
  5514.     <summary>The GPS device is reporting latitude, longitude, and altitude.</summary>
  5515. </member><member name="T:StormSource.Gps.FixMethod">
  5516.     <summary>
  5517.  Indicates whether a fix is present and if altitude can be calculated along with
  5518.  latitude and longitude.
  5519.  </summary>
  5520.     <remarks>
  5521.  This enumeration is used by the 
  5522.  <see cref="P:StormSource.Gps.Receiver.FixMethod">FixMethod</see> property of the
  5523.  <see cref="T:StormSource.Gps.Receiver">Receiver</see>
  5524.  class to indicate if altitude measurements are possible. Altitude measurements are
  5525.  possible whenever there are four or more satellites involved in a fix.
  5526.  </remarks>
  5527.     <example>
  5528.  This example demonstrates how to use the FixMethod enumeration to tell if altitude 
  5529.  measurements can be made.  NOTE: Some devices have built-in altimeters.  These devices
  5530.  can report altitude even when there is no fix present.  To support such devices, avoid
  5531.  using this property entirely and use any non-zero altitude measurement.
  5532.  <code lang="VB">
  5533.  Private WithEvents MyReceiver As New Receiver()
  5534.  
  5535.  ' Raised whenever the fix method has changed
  5536.  Private Sub OnFixMethodChanged(ByVal sender As Object, ByVal e As FixMethodEventArgs)
  5537.      ' What is the new fix method?
  5538.      Select Case e.FixMethod
  5539.          Case FixMethod.NoFix
  5540.              ' We have neither position or altitude
  5541.              Debug.WriteLine("Your position is: Not Yet Available")
  5542.              Debug.WriteLine("Your altitude is: Not Yet Available")
  5543.          Case FixMethod.Fix2D
  5544.              ' We have a position but no altitude
  5545.              Debug.WriteLine("Your position is: " & MyReceiver.Position.ToString)
  5546.              Debug.WriteLine("Your altitude is: Not Yet Available")
  5547.          Case FixMethod.Fix3D
  5548.              ' We have both position and altitude
  5549.              Debug.WriteLine("Your position is: " & MyReceiver.Position.ToString)
  5550.              Debug.WriteLine("Your altitude is: " & MyReceiver.Altitude.ToString)
  5551.      End Select
  5552.  End Sub
  5553.  </code>
  5554.         <code lang="C#">
  5555.  // Declare a new receiver
  5556.  Private WithEvents MyReceiver As New Receiver()
  5557.  
  5558.  // Raised whenever the fix method has changed
  5559.  void OnFixMethodChanged(Object sender, FixMethodEventArgs e)
  5560.  {
  5561.      // What is the new fix method?
  5562.      switch(e.FixMethod)
  5563.      {
  5564.          case FixMethod.NoFix:
  5565.              // We have neither position or altitude
  5566.              Debug.WriteLine("Your position is: Not Yet Available");
  5567.              Debug.WriteLine("Your altitude is: Not Yet Available");
  5568.          case FixMethod.Fix2D:
  5569.              // We have a position but no altitude
  5570.              Debug.WriteLine("Your position is: " & MyReceiver.Position.ToString());
  5571.              Debug.WriteLine("Your altitude is: Not Yet Available");
  5572.          case FixMethod.Fix3D:
  5573.              // We have both position and altitude
  5574.              Debug.WriteLine("Your position is: " & MyReceiver.Position.ToString());
  5575.              Debug.WriteLine("Your altitude is: " & MyReceiver.Altitude.ToString());
  5576.      }
  5577.  }
  5578.  </code>
  5579.     </example>
  5580.     <seealso cref="P:StormSource.Gps.Receiver.FixMethod">FixMethod Property (Receiver Class)</seealso>
  5581. </member><member name="F:StormSource.Gps.SentenceType.Recognized">
  5582.     <summary>The entire block of data was processed with no errors.</summary>
  5583. </member><member name="F:StormSource.Gps.SentenceType.Unrecognized">
  5584.     <summary>One or more errors were encountered while processing the block of data.  This most often occurs when a checksum does not match the actual data.</summary>
  5585. </member><member name="T:StormSource.Gps.SentenceType">
  5586.     <summary>Indicates if a block of NMEA data has been fully interpreted.</summary>
  5587.     <remarks>
  5588.  This enumeration is used by the
  5589.  <see cref="P:StormSource.Gps.SentenceEventArgs.Type">Type</see> property of the
  5590.  <see cref="T:StormSource.Gps.SentenceEventArgs">SentenceEventArgs</see> class to allow the developer to differentiate between
  5591.  recognized and unrecognized sentences if handling multiple events in one method.
  5592.  </remarks>
  5593.     <seealso cref="E:StormSource.Gps.Receiver.SentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">SentenceReceived Event (Receiver Class)</seealso>
  5594.     <seealso cref="E:StormSource.Gps.Receiver.UnrecognizedSentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">UnrecognizedSentenceReceived Event (Receiver Class)</seealso>
  5595. </member><member name="F:StormSource.Gps.SatelliteCountType.FixedCount">
  5596.     <summary>The number of satellites involved in the current fix.</summary>
  5597. </member><member name="F:StormSource.Gps.SatelliteCountType.ActiveCount">
  5598.     <summary>
  5599.  The number of satellites detected in the sky, though no signal may be
  5600.  present.
  5601.  </summary>
  5602. </member><member name="F:StormSource.Gps.SatelliteCountType.TrackedCount">
  5603.     <summary>The number of satellites with a signal-to-noise ratio above zero.</summary>
  5604. </member><member name="T:StormSource.Gps.SatelliteCountType">
  5605.     <summary>Indicates the type of satellite count statistic being measured.</summary>
  5606.     <remarks>
  5607.  This enumeration is used by the <see cref="T:System.Type">Type</see> property of the 
  5608.  <see cref="T:StormSource.Gps.SatelliteCountEventArgs">SatelliteCountEventArgs</see> class to allow 
  5609.  developers the ability to tell statistics apart when handling multiple events in one method.
  5610.  </remarks>
  5611.     <seealso cref="P:StormSource.Gps.SatelliteCollection.ActiveCount">ActiveCount Property (SatelliteCollection Class)</seealso>
  5612.     <seealso cref="P:StormSource.Gps.SatelliteCollection.TrackedCount">TrackedCount Property (SatelliteCollection Class)</seealso>
  5613.     <seealso cref="P:StormSource.Gps.SatelliteCollection.FixedCount">FixedCount Property (SatelliteCollection Class)</seealso>
  5614. </member><member name="F:StormSource.Gps.SignalToNoiseRatioRating.None">
  5615.     <summary>Represents a value of 0. The radio signal is completely obscured.</summary>
  5616. </member><member name="F:StormSource.Gps.SignalToNoiseRatioRating.Poor">
  5617.     <summary>Represents a value between 1 and 15.  The radio signal is mostly obscured, such as by a building or tree, but might briefly be part of a fix.</summary>
  5618. </member><member name="F:StormSource.Gps.SignalToNoiseRatioRating.Moderate">
  5619.     <summary>Represents a value between 16 and 30.  The radio signal is partially obscured, but could be part of a sustained fix.</summary>
  5620. </member><member name="F:StormSource.Gps.SignalToNoiseRatioRating.Good">
  5621.     <summary>Represents a value between 31 and 40.  The radio signal is being received with little interferance and could maintain a reliable fix.</summary>
  5622. </member><member name="F:StormSource.Gps.SignalToNoiseRatioRating.Excellent">
  5623.     <summary>Represents a value of 41 or above.  The satellite is in direct line of sight from the receiver and can sustain a fix.</summary>
  5624. </member><member name="T:StormSource.Gps.SignalToNoiseRatioRating">
  5625.     <summary>Indicates an in-English description of the a satellite's radio signal strength</summary>
  5626.     <remarks>This enumeration is used by the <see cref="P:StormSource.Gps.SignalToNoiseRatio.Rating">Rating</see> property of the 
  5627.  <see cref="T:StormSource.Gps.SignalToNoiseRatio">SignalToNoiseRatio</see> class to give an in-English interpretation 
  5628.  of satellite radio signal strength.
  5629.  </remarks>
  5630. </member><member name="F:StormSource.Gps.SpeedUnit.Knots">
  5631.     <summary>The number of nautical miles travelled in one hour.</summary>
  5632. </member><member name="F:StormSource.Gps.SpeedUnit.StatuteMilesPerHour">
  5633.     <summary>The number of statute miles travelled in one hour, also known as MPH.</summary>
  5634. </member><member name="F:StormSource.Gps.SpeedUnit.KilometersPerHour">
  5635.     <summary>The number of kilometers travelled in one hour, also known as KPH.</summary>
  5636. </member><member name="F:StormSource.Gps.SpeedUnit.KilometersPerSecond">
  5637.     <summary>The number of kilometers travelled in one second, also known as 
  5638.  KM/S.</summary>
  5639. </member><member name="F:StormSource.Gps.SpeedUnit.FeetPerSecond">
  5640.     <summary>The number of feet travelled in one second, also known as FT/S.</summary>
  5641. </member><member name="F:StormSource.Gps.SpeedUnit.MetersPerSecond">
  5642.     <summary>The number of meters travelled in one hour, also known as M/S.</summary>
  5643. </member><member name="T:StormSource.Gps.SpeedUnit">
  5644.     <summary>Indicates the unit of measure for speed measurements.</summary>
  5645.     <remarks>
  5646.  This enumeration is used by the
  5647.  <see cref="P:StormSource.Gps.Speed.Units">Units</see> property of the
  5648.  <see cref="T:StormSource.Gps.Speed">Speed</see>
  5649.  class in conjunction with the <see cref="P:StormSource.Gps.Speed.Value">Value</see>
  5650.  property to describe a speed measurement.
  5651.  </remarks>
  5652.     <seealso cref="P:StormSource.Gps.Speed.Units">Units Property (Speed Class)</seealso>
  5653.     <seealso cref="T:StormSource.Gps.Speed">Speed Class</seealso>
  5654. </member><member name="F:StormSource.Gps.GarminRecordType.Command">
  5655.     <summary>A transmitted command.</summary>
  5656. </member><member name="F:StormSource.Gps.GarminRecordType.Event">
  5657.     <summary>A device event.</summary>
  5658. </member><member name="F:StormSource.Gps.GarminRecordType.TransferComplete">
  5659.     <summary>A confirmation that a transfer has completed successfully.</summary>
  5660. </member><member name="F:StormSource.Gps.GarminRecordType.DateTime">
  5661.     <summary>The satellite-derived date and time.</summary>
  5662. </member><member name="F:StormSource.Gps.GarminRecordType.Position">
  5663.     <summary>The current latitude and longitude.</summary>
  5664. </member><member name="F:StormSource.Gps.GarminRecordType.ProximityWaypoint">
  5665.     <summary>Information about nearby waypoints.</summary>
  5666. </member><member name="F:StormSource.Gps.GarminRecordType.Records">
  5667.     <summary>Information about supported device protocols.</summary>
  5668. </member><member name="F:StormSource.Gps.GarminRecordType.RouteHeader">
  5669.     <summary>Information describing a route.</summary>
  5670. </member><member name="F:StormSource.Gps.GarminRecordType.RouteWaypoint">
  5671.     <summary>Information describing segments of a route.</summary>
  5672. </member><member name="F:StormSource.Gps.GarminRecordType.Almanac">
  5673.     <summary>Information used to obtain a "hot start" (quickly obtaining a fix).</summary>
  5674. </member><member name="F:StormSource.Gps.GarminRecordType.Track">
  5675.     <summary>Information about a "trail of bread crumbs" of visited locations.</summary>
  5676. </member><member name="F:StormSource.Gps.GarminRecordType.Waypoint">
  5677.     <summary>Information about a significant location.</summary>
  5678. </member><member name="F:StormSource.Gps.GarminRecordType.PositionVelocityTime">
  5679.     <summary>Information about the current position, speed and satellite-derived 
  5680.  time.</summary>
  5681. </member><member name="F:StormSource.Gps.GarminRecordType.RouteLink">
  5682.     <summary>Information which connects two route segments.</summary>
  5683. </member><member name="F:StormSource.Gps.GarminRecordType.TrackHeader">
  5684.     <summary>Information which describes a track log.</summary>
  5685. </member><member name="F:StormSource.Gps.GarminRecordType.ProductData">
  5686.     <summary>Information which describes the model and manufacturer of the 
  5687.  device.</summary>
  5688. </member><member name="F:StormSource.Gps.GarminRecordType.TransferDeviceProtocols">
  5689.     <summary>Information which describes features supported by the device.</summary>
  5690. </member><member name="T:StormSource.Gps.GarminRecordType">
  5691.     <summary>
  5692.  Indicates a kind of data packet which can be received from a Garmin┬«
  5693.  device.
  5694.  </summary>
  5695. </member><member name="F:StormSource.Gps.GarminCommandType.AbortTransfer">
  5696.     <summary>Stops the download of the current transfer.</summary>
  5697. </member><member name="F:StormSource.Gps.GarminCommandType.TransferAlmanac">
  5698.     <summary>Requests information about the time and location, used for "hot starts" (fast acquisition of satellites).</summary>
  5699. </member><member name="F:StormSource.Gps.GarminCommandType.TransferPosition">
  5700.     <summary>Requests information about the current position.</summary>
  5701.     <remarks>NMEA-0183 is recommended instead of this command because NMEA includes dilution of precision information.</remarks>
  5702. </member><member name="F:StormSource.Gps.GarminCommandType.TransferProximityWaypoints">
  5703.     <summary>Requests a list of nearby waypoints.</summary>
  5704. </member><member name="F:StormSource.Gps.GarminCommandType.TransferRoutes">
  5705.     <summary>Requests a list of stored routes from the device.</summary>
  5706. </member><member name="F:StormSource.Gps.GarminCommandType.TransferDateTime">
  5707.     <summary>Requests the current UTC date and time.</summary>
  5708. </member><member name="F:StormSource.Gps.GarminCommandType.TransferTracks">
  5709.     <summary>Requests the log of previously-visited positions.</summary>
  5710. </member><member name="F:StormSource.Gps.GarminCommandType.TransferWaypoints">
  5711.     <summary>Requests a list of all waypoints from the device.</summary>
  5712. </member><member name="F:StormSource.Gps.GarminCommandType.TurnOffPower">
  5713.     <summary>Turns off the device.</summary>
  5714. </member><member name="F:StormSource.Gps.GarminCommandType.StartPositionVelocityTimeData">
  5715.     <summary>
  5716.  Start transmitting information about the current location, time, and
  5717.  speed.
  5718.  </summary>
  5719. </member><member name="F:StormSource.Gps.GarminCommandType.StopPositionVelocityTimeData">
  5720.     <summary>Stop transmitting information about the current location, time, and 
  5721.  speed.</summary>
  5722. </member><member name="F:StormSource.Gps.GarminCommandType.TransferDeviceInformation">
  5723.     <summary>Requests information which specifically identifies the device.</summary>
  5724. </member><member name="F:StormSource.Gps.GarminCommandType.TransferDeviceProtocols">
  5725.     <summary>Requests information about the device's supported features.</summary>
  5726. </member><member name="T:StormSource.Gps.GarminCommandType">
  5727.     <summary>Indicates a type of command which can be sent to a Garmin┬« device.</summary>
  5728.     <remarks>
  5729.  This enumeration is used by the Send method if the Device class to allow commands
  5730.  to be sent to Garmin┬« devices which are set to use the Garmin┬« binary protocol (instead
  5731.  of NMEA-0183). At the time of this writing, not all commands are supported, and
  5732.  supported commands are handled via other classes. For example, calling the Refresh
  5733.  method of the WaypointsCollection class executes a <strong>TransferWaypoints</strong>
  5734.  command and automatically processes resulting data.
  5735.  </remarks>
  5736. </member><member name="F:StormSource.Gps.DeviceType.Unknown">
  5737.     <summary>The device has not yet been specifically identified.</summary>
  5738. </member><member name="F:StormSource.Gps.DeviceType.NmeaCompliantDevice">
  5739.     <summary>The device supports the NMEA-0183 protocol.</summary>
  5740. </member><member name="F:StormSource.Gps.DeviceType.GarmineTrexVista">
  5741.     <summary>Garmin┬« eTrex Vista.</summary>
  5742. </member><member name="F:StormSource.Gps.DeviceType.GarmineTrexVenture">
  5743.     <summary>Garmin┬« eTrex Venture.</summary>
  5744. </member><member name="T:StormSource.Gps.DeviceType">
  5745.     <summary>Indicates the specific model of an identified device.</summary>
  5746.     <remarks>
  5747.  This enumeration is used by the
  5748.  <see cref="P:StormSource.Gps.Device.Type">Type</see> property of the
  5749.  <see cref="T:StormSource.Gps.Device">Device</see>
  5750.  class to specifically identify a GPS device. The Garmin┬« binary protocol is able to
  5751.  send data which identifies itself. To obtain the user-friendly name of the device, use
  5752.  the <see cref="P:StormSource.Gps.Device.Name">Name</see> property of the Device
  5753.  class.
  5754.  </remarks>
  5755.     <seealso cref="P:StormSource.Gps.Device.Type">Type Property (Device Class)</seealso>
  5756.     <seealso cref="P:StormSource.Gps.Device.Name">Name Property (Device Class)</seealso>
  5757. </member><member name="F:StormSource.Gps.EllipsoidType.Airy1830">
  5758.     <summary>Airy 1830</summary>
  5759. </member><member name="F:StormSource.Gps.EllipsoidType.Ats1977">
  5760.     <summary>ATS 1977</summary>
  5761. </member><member name="F:StormSource.Gps.EllipsoidType.AustralianNational1965">
  5762.     <summary>Australian Natioanl 1965</summary>
  5763. </member><member name="F:StormSource.Gps.EllipsoidType.Bessel1841">
  5764.     <summary>Bessel 1841</summary>
  5765. </member><member name="F:StormSource.Gps.EllipsoidType.Bessel1841Japan">
  5766.     <summary>Bessel 1841 (Japan)</summary>
  5767. </member><member name="F:StormSource.Gps.EllipsoidType.Bessel1841Namibia">
  5768.     <summary>Bessel 1841 (Namibia)</summary>
  5769. </member><member name="F:StormSource.Gps.EllipsoidType.Clarke1866">
  5770.     <summary>Clarke 1866</summary>
  5771. </member><member name="F:StormSource.Gps.EllipsoidType.Clarke1880">
  5772.     <summary>Clarke 1880</summary>
  5773. </member><member name="F:StormSource.Gps.EllipsoidType.Everest">
  5774.     <summary>Everest</summary>
  5775. </member><member name="F:StormSource.Gps.EllipsoidType.EverestIndia1830">
  5776.     <summary>Everest India 1830</summary>
  5777. </member><member name="F:StormSource.Gps.EllipsoidType.Everest1948">
  5778.     <summary>Everest 1948</summary>
  5779. </member><member name="F:StormSource.Gps.EllipsoidType.Everest1956">
  5780.     <summary>Everest 1956</summary>
  5781. </member><member name="F:StormSource.Gps.EllipsoidType.Everest1969">
  5782.     <summary>Everest 1969</summary>
  5783. </member><member name="F:StormSource.Gps.EllipsoidType.EverestPakistan">
  5784.     <summary>Everest (Pakistan)</summary>
  5785. </member><member name="F:StormSource.Gps.EllipsoidType.Fischer1960">
  5786.     <summary>Fischer1960</summary>
  5787. </member><member name="F:StormSource.Gps.EllipsoidType.Fischer1968">
  5788.     <summary>Fischer 1968</summary>
  5789. </member><member name="F:StormSource.Gps.EllipsoidType.Grs80">
  5790.     <summary>GRS 80</summary>
  5791. </member><member name="F:StormSource.Gps.EllipsoidType.Hayford1909">
  5792.     <summary>Hayford 1909</summary>
  5793. </member><member name="F:StormSource.Gps.EllipsoidType.Helmert1906">
  5794.     <summary>Helmert 1906</summary>
  5795. </member><member name="F:StormSource.Gps.EllipsoidType.Hough1960">
  5796.     <summary>Hough 1960</summary>
  5797. </member><member name="F:StormSource.Gps.EllipsoidType.Indonesian1974">
  5798.     <summary>Indonesian 1974</summary>
  5799. </member><member name="F:StormSource.Gps.EllipsoidType.International1924">
  5800.     <summary>International 1924</summary>
  5801. </member><member name="F:StormSource.Gps.EllipsoidType.Krassovsky1940">
  5802.     <summary>Krassovsky 1940</summary>
  5803. </member><member name="F:StormSource.Gps.EllipsoidType.Mercury1960">
  5804.     <summary>Mercury 1960</summary>
  5805. </member><member name="F:StormSource.Gps.EllipsoidType.ModifiedAiry">
  5806.     <summary>Airy (Modified)</summary>
  5807. </member><member name="F:StormSource.Gps.EllipsoidType.ModifiedFischer1960">
  5808.     <summary>Fischer 1960 (Modified)</summary>
  5809. </member><member name="F:StormSource.Gps.EllipsoidType.ModifiedMercury1968">
  5810.     <summary>Mercury 1968 (Modified)</summary>
  5811. </member><member name="F:StormSource.Gps.EllipsoidType.NewInternational1967">
  5812.     <summary>New International 1967</summary>
  5813. </member><member name="F:StormSource.Gps.EllipsoidType.NormalSphere">
  5814.     <summary>A perfect sphere</summary>
  5815. </member><member name="F:StormSource.Gps.EllipsoidType.Pakistan">
  5816.     <summary>Pakistan</summary>
  5817. </member><member name="F:StormSource.Gps.EllipsoidType.Sgs1985">
  5818.     <summary>SGS 1985</summary>
  5819. </member><member name="F:StormSource.Gps.EllipsoidType.SouthAmerican1969">
  5820.     <summary>South American 1969</summary>
  5821. </member><member name="F:StormSource.Gps.EllipsoidType.SoutheastAsia">
  5822.     <summary>Southeast Asia1830</summary>
  5823. </member><member name="F:StormSource.Gps.EllipsoidType.UserDefined">
  5824.     <summary>A custom ellipsoid</summary>
  5825. </member><member name="F:StormSource.Gps.EllipsoidType.Wgs1960">
  5826.     <summary>World Geodetic System 1966</summary>
  5827. </member><member name="F:StormSource.Gps.EllipsoidType.Wgs1966">
  5828.     <summary>World Geodetic System 1966</summary>
  5829. </member><member name="F:StormSource.Gps.EllipsoidType.Wgs1972">
  5830.     <summary>World Geodetic System 1972</summary>
  5831. </member><member name="F:StormSource.Gps.EllipsoidType.Wgs1984">
  5832.     <summary>World Geodetic System 1984</summary>
  5833. </member><member name="T:StormSource.Gps.EllipsoidType">
  5834.     <summary>Indicates an interpretation of the Earth's shape.</summary>
  5835.     <remarks>
  5836.  This property is used by the <see cref="P:StormSource.Gps.Ellipsoid.Type">Type</see> property of the <see cref="T:StormSource.Gps.Ellipsoid">Ellipsoid</see> class to identify
  5837.  this ellipsoid is associated with a positional measurement. Most GPS devices report
  5838.  coordinates using the WGS1984 ellipsoid.  The name of an ellipsoid is typically the scientist
  5839.  or organization who made the formulation followed by the year of the formulation.
  5840.  </remarks>
  5841.     <seealso cref="P:StormSource.Gps.Ellipsoid.Type">Type Property (Ellipsoid Class)</seealso>
  5842. </member><member name="F:StormSource.Gps.DatumType.Adindan">
  5843.     <summary>Adindan</summary>
  5844. </member><member name="F:StormSource.Gps.DatumType.Afgooye">
  5845.     <summary>Afgooye</summary>
  5846. </member><member name="F:StormSource.Gps.DatumType.AinelAbd1970">
  5847.     <summary>Ain el Abd 1970</summary>
  5848. </member><member name="F:StormSource.Gps.DatumType.AmericanSamoa1962">
  5849.     <summary>American Samoa 1962</summary>
  5850. </member><member name="F:StormSource.Gps.DatumType.Anna1Astro1965">
  5851.     <summary>Anna 1 Astro 1965</summary>
  5852. </member><member name="F:StormSource.Gps.DatumType.AntiguaIslandAstro1943">
  5853.     <summary></summary>
  5854. </member><member name="T:StormSource.Gps.DatumType">
  5855.     <summary>Indicates a specific kind of coordinate system.</summary>
  5856.     <remarks>
  5857.  Datums are used to describe the coordinate systems used by different countries
  5858.  around the world. There is currently no global coordinate system in use by all
  5859.  countries because of dependence on current systems (just as the United States could not
  5860.  quickly convert to the metric system). This enumeration is used by the
  5861.  <see cref="P:StormSource.Gps.Datum.Type">Type</see> property of the
  5862.  <see cref="T:StormSource.Gps.Datum">Datum</see>
  5863.  class.
  5864.  </remarks>
  5865.     <seealso cref="P:StormSource.Gps.Datum.Type">Type Property (Datum Class)</seealso>
  5866. </member><member name="T:StormSource.Gps.MolodenskyTransformType">
  5867.     <summary>
  5868.  Indicates a specific kind of three-parameter Molodensky transform used for
  5869.  localized coordinate conversions.
  5870.  </summary>
  5871.     <remarks>
  5872.  This large enumeration is used by the Type property of the MolodenskyTransform
  5873.  class, allowing developers to perform localized coordinate conversions from one system
  5874.  (typically WGS1984) to another country or region. While the Molodensky transform is
  5875.  considered to be a lower-accuracy solution, it requires no large transformation files
  5876.  and can fit inside the GPS.NET framework.
  5877.  </remarks>
  5878.     <seealso cref="P:StormSource.Gps.MolodenskyTransform.Type">Type Property (MolodenskyTransform Class)</seealso>
  5879. </member><member name="P:My.Resources.MyResources.ResourceManager">
  5880.     <summary>
  5881.    Returns the cached ResourceManager instance used by this class.
  5882. </summary>
  5883. </member><member name="P:My.Resources.MyResources.Culture">
  5884.     <summary>
  5885.    Overrides the current thread's CurrentUICulture property for all
  5886.    resource lookups using this strongly typed resource class.
  5887. </summary>
  5888. </member><member name="T:My.Resources.MyResources">
  5889.     <summary>
  5890.    A strongly-typed resource class, for looking up localized strings, etc.
  5891. </summary>
  5892. </member><member name="P:StormSource.Gps.Controls.FadePanel.ImageA">
  5893.     <summary>
  5894.  The image displayed at the start, then faded out.
  5895.  </summary>
  5896.     <value>An Image containing a picture to display.</value>
  5897.     <remarks>This property stores the starting image.  This image will be faded into <see cref="P:StormSource.Gps.Controls.FadePanel.ImageB">ImageB</see>.</remarks>
  5898.     <example>
  5899.  This example demonstrates how to make one image fade smoothly into another in one second.
  5900.  <code lang="VB">
  5901.  ' A FadePanel control is added to a form
  5902.  ' ...
  5903.  ' Make the fade time one second
  5904.  MyFadePanel.FadeTime = 1
  5905.  ' Set the starting image
  5906.  MyFadePanel.ImageA = New Bitmap("C:\PictureStart.jpg")
  5907.  ' Set the ending image
  5908.  MyFadePanel.ImageB = New Bitmap("C:\PictureFinish.jpg")
  5909.  ' Begin the fade effect
  5910.  MyFadePanel.Fade
  5911.  </code>
  5912.         <code lang="C#">
  5913.  // A FadePanel control is added to a form
  5914.  // ...
  5915.  // Make the fade time one second
  5916.  MyFadePanel.FadeTime = 1;
  5917.  // Set the starting image
  5918.  MyFadePanel.ImageA = new Bitmap("C:\PictureStart.jpg");
  5919.  // Set the ending image
  5920.  MyFadePanel.ImageB = new Bitmap("C:\PictureFinish.jpg");
  5921.  // Begin the fade effect
  5922.  MyFadePanel.Fade;
  5923.  </code>
  5924.     </example>
  5925.     <seealso cref="P:StormSource.Gps.Controls.FadePanel.ImageB">ImageB Property</seealso>
  5926.     <seealso cref="P:StormSource.Gps.Controls.FadePanel.FadeTime">FadeTime Method</seealso>
  5927.     <seealso cref="M:StormSource.Gps.Controls.FadePanel.Fade">Fade Method</seealso>
  5928. </member><member name="P:StormSource.Gps.Controls.FadePanel.ImageB">
  5929.     <summary>
  5930.  The image displayed at the end of the fading transition.
  5931.  </summary>
  5932.     <value>An Image containing a picture to display.</value>
  5933.     <remarks>This property stores the final image.  This image will be faded in from <see cref="P:StormSource.Gps.Controls.FadePanel.ImageA">ImageA</see>.</remarks>
  5934.     <example>
  5935.  This example demonstrates how to make one image fade smoothly into another in one second.
  5936.  <code lang="VB">
  5937.  ' A FadePanel control is added to a form
  5938.  ' ...
  5939.  ' Make the fade time one second
  5940.  MyFadePanel.FadeTime = 1
  5941.  ' Set the starting image
  5942.  MyFadePanel.ImageA = New Bitmap("C:\PictureStart.jpg")
  5943.  ' Set the ending image
  5944.  MyFadePanel.ImageB = New Bitmap("C:\PictureFinish.jpg")
  5945.  ' Begin the fade effect
  5946.  MyFadePanel.Fade
  5947.  </code>
  5948.         <code lang="C#">
  5949.  // A FadePanel control is added to a form
  5950.  // ...
  5951.  // Make the fade time one second
  5952.  MyFadePanel.FadeTime = 1;
  5953.  // Set the starting image
  5954.  MyFadePanel.ImageA = new Bitmap("C:\PictureStart.jpg");
  5955.  // Set the ending image
  5956.  MyFadePanel.ImageB = new Bitmap("C:\PictureFinish.jpg");
  5957.  // Begin the fade effect
  5958.  MyFadePanel.Fade;
  5959.  </code>
  5960.     </example>
  5961.     <seealso cref="P:StormSource.Gps.Controls.FadePanel.ImageA">ImageA Property</seealso>
  5962.     <seealso cref="P:StormSource.Gps.Controls.FadePanel.FadeTime">FadeTime Property</seealso>
  5963.     <seealso cref="M:StormSource.Gps.Controls.FadePanel.Fade">Fade Method</seealso>
  5964. </member><member name="P:StormSource.Gps.Controls.FadePanel.FadeTime">
  5965.     <summary>
  5966.  The total number of seconds that the fade will take place.
  5967.  </summary>
  5968.     <value>A Double specifying a number of seconds.</value>
  5969.     <remarks>This property controls the speed of the fade effect.  A value greater than zero is required, and a value of one is typically used.</remarks>
  5970.     <example>
  5971.  This example demonstrates how to make one image fade smoothly into another in one second.
  5972.  <code lang="VB">
  5973.  ' A FadePanel control is added to a form
  5974.  ' ...
  5975.  ' Make the fade time one second
  5976.  MyFadePanel.FadeTime = 1
  5977.  ' Set the starting image
  5978.  MyFadePanel.ImageA = New Bitmap("C:\PictureStart.jpg")
  5979.  ' Set the ending image
  5980.  MyFadePanel.ImageB = New Bitmap("C:\PictureFinish.jpg")
  5981.  ' Begin the fade effect
  5982.  MyFadePanel.Fade
  5983.  </code>
  5984.         <code lang="C#">
  5985.  // A FadePanel control is added to a form
  5986.  // ...
  5987.  // Make the fade time one second
  5988.  MyFadePanel.FadeTime = 1;
  5989.  // Set the starting image
  5990.  MyFadePanel.ImageA = new Bitmap("C:\PictureStart.jpg");
  5991.  // Set the ending image
  5992.  MyFadePanel.ImageB = new Bitmap("C:\PictureFinish.jpg");
  5993.  // Begin the fade effect
  5994.  MyFadePanel.Fade;
  5995.  </code>
  5996.     </example>
  5997.     <seealso cref="P:StormSource.Gps.Controls.FadePanel.ImageA">ImageA Property</seealso>
  5998.     <seealso cref="P:StormSource.Gps.Controls.FadePanel.ImageB">ImageB Property</seealso>
  5999.     <seealso cref="M:StormSource.Gps.Controls.FadePanel.Fade">Fade Method</seealso>
  6000. </member><member name="M:StormSource.Gps.Controls.FadePanel.#ctor">
  6001.     <summary>Creates a new instance.</summary>
  6002. </member><member name="M:StormSource.Gps.Controls.FadePanel.Fade">
  6003.     <summary>
  6004.  Begins the fading transition from ImageA to ImageB.
  6005.  </summary>
  6006.     <remarks>This method begins the smooth fading process.</remarks>
  6007. </member><member name="T:StormSource.Gps.Controls.FadePanel">
  6008.     <summary>
  6009.  Desktop frameworks only.  Provides a method for one image to be smoothly faded into another.
  6010.  </summary>
  6011.     <remarks>This control is a freebie which really has little to do with GPS.  The
  6012.  trial screen uses this control to smoothly fade in news and updates about GPS.NET.</remarks>
  6013. </member><member name="M:StormSource.Gps.Ellipsoid.#ctor(StormSource.Gps.EllipsoidType,System.String,StormSource.Gps.Distance,StormSource.Gps.Distance)">
  6014.     <summary>
  6015.  Creates a new instance with the specified type, name, equatorial raduis and polar radius.
  6016.  </summary>
  6017.     <param name="type">The kind of ellipsoid, typically <strong>EllipsoidType.UserDefined</strong>.</param>
  6018.     <param name="text">The name for the new ellipsoid.</param>
  6019.     <param name="equatorialRadius">A <strong>Distance</strong> object specifying the distance from the center of the Earth to the equator.</param>
  6020.     <param name="polarRadius">A <strong>Distance</strong> object specifying the distance from the center of the Earth to the poles.</param>
  6021.     <remarks>This constructor allows user-defined ellipsoids to be created for specialized applications.  </remarks>
  6022. </member><member name="M:StormSource.Gps.Ellipsoid.#ctor(System.String,StormSource.Gps.Distance,StormSource.Gps.Distance)">
  6023.     <summary>
  6024.  Creates a new user-defined ellipsoid with the specified name, equatorial raduis and polar radius.
  6025.  </summary>
  6026.     <param name="text">The name for the new ellipsoid.</param>
  6027.     <param name="equatorialRadius">A <strong>Distance</strong> object specifying the distance from the center of the Earth to the equator.</param>
  6028.     <param name="polarRadius">A <strong>Distance</strong> object specifying the distance from the center of the Earth to the poles.</param>
  6029.     <remarks>This constructor allows custom ellipsoids to be created for specialized applications.</remarks>
  6030. </member><member name="P:StormSource.Gps.Ellipsoid.Type">
  6031.     <summary>
  6032.  Indicates whether an ellipsoid is part of a built-in list or user-defined.
  6033.  </summary>
  6034.     <value>A value from the <strong>EllipsoidType</strong> enumeration.</value>
  6035. </member><member name="P:StormSource.Gps.Ellipsoid.Text">
  6036.     <summary>
  6037.  Indicates the descriptive name of the ellipsoid.
  6038.  </summary>
  6039.     <value>A <strong>String</strong> containing the name of the ellipsoid.</value>
  6040.     <remarks>This property is typically used to display ellipsoid information on a user interface.</remarks>
  6041. </member><member name="P:StormSource.Gps.Ellipsoid.EquatorialRadius">
  6042.     <summary>Represents the distance from Earth's center to the equator.</summary>
  6043.     <value>A <strong>Distance</strong> object.</value>
  6044.     <remarks>
  6045.         <para>Since the Earth is not a perfect sphere, but more of a flattened sphere (also
  6046.      known as an "oblate spheroid"), its radius at the equator is further than the
  6047.      radius up to the North or South Pole. Depending on the ellipsoid, the difference
  6048.      between these distances can vary, including the rate of <see cref="P:StormSource.Gps.Ellipsoid.Flattening">
  6049.      flattening</see>, determining how curved the Earth is. The diagram below shows how
  6050.      the equatorial radius is measured.</para>
  6051.         <para>This property is typically used for geodetic equations beyond those already
  6052.      provided by the GPS.NET framework.</para>
  6053.         <para><img src="EquatorialRadius.jpg"/></para>
  6054.     </remarks>
  6055.     <seealso cref="P:StormSource.Gps.Ellipsoid.PolarRadius">PolarRadius Property</seealso>
  6056. </member><member name="P:StormSource.Gps.Ellipsoid.PolarRadius">
  6057.     <summary>Represents the distance from Earth's center to a pole.</summary>
  6058.     <value>A <strong>Distance</strong> object.</value>
  6059.     <remarks>
  6060.         <para>Since the Earth is not a perfect sphere, but more of a flattened sphere (also
  6061.      known as an "oblate spheroid"), its radius at the equator is further than the
  6062.      radius up to the North or South Pole. Depending on the ellipsoid, the difference
  6063.      between these distances can vary, including the rate of <see cref="P:StormSource.Gps.Ellipsoid.Flattening">
  6064.      flattening</see>, determining how curved the Earth is. The diagram below shows how
  6065.      the polar radius is measured.</para>
  6066.         <para>This property is typically used for geodetic equations beyond those already
  6067.      provided by the GPS.NET framework.</para>
  6068.         <para><img src="EquatorialRadius.jpg"/></para>
  6069.     </remarks>
  6070.     <seealso cref="P:StormSource.Gps.Ellipsoid.EquatorialRadius">EquatorialRadius Property</seealso>
  6071. </member><member name="P:StormSource.Gps.Ellipsoid.SemiMajorAxis">
  6072.     <summary>
  6073.  Returns Earth's equatorial radius.
  6074.  </summary>
  6075.     <value>A <strong>Distance</strong> containing Earth's equatorial radius.</value>
  6076.     <remarks>This property behaves exactly the same way as the <see cref="P:StormSource.Gps.Ellipsoid.EquatorialRadius">EquatorialRadius</see>
  6077.  property.  It is provided as a convenience for developers who tend to use the terms
  6078.  "semi-major" and "semi-minor" versus "equatorial" and "polar," respectively.</remarks>
  6079.     <seealso cref="P:StormSource.Gps.Ellipsoid.EquatorialRadius">EquatorialRadius Property</seealso>
  6080. </member><member name="P:StormSource.Gps.Ellipsoid.SemiMinorAxis">
  6081.     <summary>
  6082.  Returns Earth's polar radius.
  6083.  </summary>
  6084.     <value>A <strong>Distance</strong> containing Earth's polar radius.</value>
  6085.     <remarks>This property behaves exactly the same way as the <see cref="P:StormSource.Gps.Ellipsoid.EquatorialRadius">EquatorialRadius</see>
  6086.  property.  It is provided as a convenience for developers who tend to use the terms
  6087.  "semi-major" and "semi-minor" versus "equatorial" and "polar," respectively.</remarks>
  6088.     <seealso cref="P:StormSource.Gps.Ellipsoid.EquatorialRadius">EquatorialRadius Property</seealso>
  6089. </member><member name="P:StormSource.Gps.Ellipsoid.InverseFlattening">
  6090.     <summary>
  6091.  Indicates the inverse of the shape of an ellipsoid relative to a sphere.
  6092.  </summary>
  6093.     <value>A <strong>Double</strong> containing the ellipsoid's flattening.</value>
  6094.     <remarks>This property is used frequently in equations.  Inverse flattening is 
  6095.  defined as one divided by <see cref="P:StormSource.Gps.Ellipsoid.Flattening">flattening</see>: 
  6096.  <para><img src="InverseFlattening.jpg"/></para>
  6097.     </remarks>
  6098.     <seealso cref="P:StormSource.Gps.Ellipsoid.EquatorialRadius">EquatorialRadius Property</seealso>
  6099. </member><member name="P:StormSource.Gps.Ellipsoid.Flattening">
  6100.     <summary>
  6101.  Indicates the shape of an ellipsoid relative to a sphere.
  6102.  </summary>
  6103.     <value>A <strong>Double</strong> containing the ellipsoid's flattening.</value>
  6104.     <remarks>This property is used frequently in equations.  Flattening is defined as: 
  6105.  <para><img src="Flattening.jpg"/></para>
  6106.     </remarks>
  6107.     <seealso cref="P:StormSource.Gps.Ellipsoid.EquatorialRadius">EquatorialRadius Property</seealso>
  6108. </member><member name="T:StormSource.Gps.Ellipsoid">
  6109.     <summary>Represents a spheroid (a flattened sphere) which estimates Earth's 
  6110.  shape.</summary>
  6111.     <remarks>
  6112.         <para>The Earth's surface is rugged, which makes mathematics using Earth's surface
  6113.      difficult to perform. That is to say, there is no mathematical formula which
  6114.      describes the Earth's exact shape. However, the Earth's
  6115.      <i>approximate</i> shape can be determined mathematically, and these
  6116.      spheroid shapes are known as ellipsoids.</para>
  6117.         <para>The first ellipsoid was formulated in the 1800's. Countries used this
  6118.      ellipsoid to develop their own coordinate systems, and maps and charts to go along
  6119.      with it. However, as time and technology progressed, new ellipsoids were formulated
  6120.      to represent (what was believed to be) an even more accurate shape of the Earth.
  6121.      Once again, new coordinate systems and maps were made using the updated
  6122.      model.</para>
  6123.         <para>Today, there are now approximately thirty
  6124.      
  6125.  <see cref="P:StormSource.Gps.Geodesy.Ellipsoids">
  6126.      known ellipsoids</see>, upon which were created about 120 coordinate systems. This
  6127.      introduces much complexity in the seemingly basic task of plotting a coordinate.
  6128.      This class, along with other classes in the GPS.NET framework, are provided in an
  6129.      attempt to simplify the process of converting between coordinate systems to
  6130.      maximize the value of any map or cartographical data created throughout
  6131.      history.</para>
  6132.         <para>For most programming purposes, ellipsoids are not typically created or
  6133.      modified, but rather serve as the foundation upon which coordinate systems known as
  6134.      "horizontal datums" or just
  6135.      "<see cref="T:StormSource.Gps.Datum">datums</see>"
  6136.      are created.</para>
  6137.         <para>
  6138.             <para>
  6139.                 <img src="Ellipsoids.jpg"/>
  6140.             </para>
  6141.             <para>
  6142.                 <para>For more information on how GPS.NET provides geodesic information and
  6143.              coordinate conversion services, see the
  6144.              
  6145.  <see cref="T:StormSource.Gps.Position">Position</see>,
  6146.  <see cref="T:StormSource.Gps.UtmPosition">UtmPosition</see>,
  6147.  <see cref="T:StormSource.Gps.Datum">Datum</see>,
  6148.  <see cref="T:StormSource.Gps.Geodesy">Geodesy</see> and
  6149.  <see cref="T:StormSource.Gps.MolodenskyTransform">MolodenskyTransform</see> classes.</para>
  6150.             </para>
  6151.         </para>
  6152.     </remarks>
  6153. </member><member name="E:StormSource.Gps.Waypoint.BecomesDirty(System.Object,System.EventArgs)">
  6154.     <summary>
  6155.  Occurs when the object has been changed since it was downloaded from the
  6156.  device.
  6157.  </summary>
  6158.     <remarks>
  6159.  This event is typically used to determine whether or not a waypoint needs to be
  6160.  saved back to the GPS device. This event is the opposite of the
  6161.  <see cref="E:StormSource.Gps.Waypoint.BecomesClean(System.Object,System.EventArgs)">
  6162.  BecomesClean</see> event.
  6163.  </remarks>
  6164.     <seealso cref="E:StormSource.Gps.Waypoint.BecomesClean(System.Object,System.EventArgs)">BecomesClean Event</seealso>
  6165. </member><member name="E:StormSource.Gps.Waypoint.BecomesClean(System.Object,System.EventArgs)">
  6166.     <summary>Occurs when changes made to a waypoint have been saved successfully.</summary>
  6167.     <remarks>
  6168.  This event indicates that any changes made to a waypoint have been stored back
  6169.  onto the GPS device. Some limitations apply when copying waypoints from one device to
  6170.  another. For more information, please see the
  6171.  <see href="StormSource.Gps.Waypoint.Sa
  6172.  ve()">
  6173.  Save</see> method.
  6174.  </remarks>
  6175.     <seealso cref="E:StormSource.Gps.Waypoint.BecomesDirty(System.Object,System.EventArgs)">BecomesDirty Event</seealso>
  6176. </member><member name="P:StormSource.Gps.Waypoint.IsDirty">
  6177.     <summary>
  6178.  Indicates if the waypoint has changed since it was downloaded from the
  6179.  device.
  6180.  </summary>
  6181.     <value>
  6182.  A <strong>Boolean</strong> value. <strong>True</strong> if the waypoint has
  6183.  changed.
  6184.  </value>
  6185.     <remarks>
  6186.  When this property becomes <strong>True</strong>, the
  6187.  <see href="StormSource.Gps.Waypoint.Be
  6188.  comesDirty">
  6189.  BecomesDirty</see> event is raised. Likewise, when the object is successfully saved back
  6190.  to a GPS device, the
  6191.  <see href="StormSource.Gps.Waypoint.Be
  6192.  comesClean">
  6193.  BecomesClean</see> event occurs.
  6194.  </remarks>
  6195. </member><member name="M:StormSource.Gps.Waypoint.Save">
  6196.     <summary>Saves changes made to a waypoint to the device from which it was downloaded.</summary>
  6197. </member><member name="M:StormSource.Gps.Waypoint.Save(StormSource.Gps.Device)">
  6198.     <summary>Saves changes made to waypoint information to a specific GPS device.</summary>
  6199. </member><member name="P:StormSource.Gps.Waypoint.CurrentDistance">
  6200.     <summary>Returns the distance from the current position to the waypoint.</summary>
  6201. </member><member name="P:StormSource.Gps.Waypoint.CurrentTravelTime">
  6202.     <summary>Returns the current time needed to reach the waypoint's location based on the current position and speed.</summary>
  6203. </member><member name="M:StormSource.Gps.Waypoint.GetMinimumSpeed(System.TimeSpan)">
  6204.     <summary>Returns the minimum speed required to travel to the waypoint from the current position within the specified period of time.</summary>
  6205. </member><member name="M:StormSource.Gps.Waypoint.Parse(System.String)">
  6206.     <summary>Returns a new instance based upon the specified latitude and longitude</summary>
  6207. </member><member name="P:StormSource.Gps.Waypoint.Color">
  6208.     <summary>Returns/sets the color of the symbol associated with the waypoint.</summary>
  6209. </member><member name="P:StormSource.Gps.Waypoint.Symbol">
  6210.     <summary>Returns/sets the symbol displayed at the waypoint's location.</summary>
  6211. </member><member name="P:StormSource.Gps.Waypoint.DisplayMode">
  6212.     <summary>Returns/sets the method that the symbol is displayed.</summary>
  6213. </member><member name="P:StormSource.Gps.Waypoint.Altitude">
  6214.     <summary>Returns/sets the altitude above sea level.</summary>
  6215. </member><member name="T:StormSource.Gps.Waypoint">
  6216.     <summary>Represents a position which can be stored in a GPS device.</summary>
  6217.     <remarks>
  6218.         <para><em>NOTE: This release of GPS.NET supports Garmin┬« waypoints only. Support
  6219.      for other devices may be added in a future release.</em></para>
  6220.         <para>Several hand-held GPS devices allow users to mark notable locations such as
  6221.      destinations, stops along a route, and places of interest. These locations are
  6222.      known as "waypoints" and are typically marked on the device's display with a
  6223.      graphic symbol, a name, a description, plus other identifying information depending
  6224.      on the capabilities of the device. This class contains the functionality to create,
  6225.      edit, and save (but not <em>delete</em>) waypoint information to and from one or
  6226.      more Garmin┬« GPS devices.</para>
  6227.         <para>The first waypoint-capable Garmin┬« GPS device was released around 1995 and
  6228.      had the ability to store only a name, latitude and longitude for a waypoint. Now,
  6229.      almost ten years later, there are <em>fifteen</em> individual kinds of waypoints
  6230.      with the ability to store far more than just a name and a symbol. Unfortunately,
  6231.      Garmin┬« researchers did not preserve backwards compatibility as new products were
  6232.      introduced. As a result, the process of saving a waypoint has become so tangled in
  6233.      varying data structures, protocols and unstandardized enumerative values that many
  6234.      programmers throw their hands up soon after trying to untangle it all.</para>
  6235.         <para>Fortunately, this class is designed to solve all of these challenges and make
  6236.      waypoint management easy. This class allows developers the ability to work with
  6237.      waypoints from any Garmin┬« GPS device without having to know a <em>thing</em> about
  6238.      the Garmin binary protocol. All of the complexities mentioned above are all handled
  6239.      behind the scenes.</para>
  6240.         <para>
  6241.             <para><strong>Important: Data can be lost when transferring waypoints from
  6242.          newer devices to older devices</strong></para>
  6243.             <para>The Waypoint class contains several properties which describe a waypoint.
  6244.          While these properties can all be saved to newer devices, older devices to not
  6245.          have to ability to store them all. As a result, some care must be taken when
  6246.          transferring waypoint information from a newer device to an older device. For
  6247.          example, if a waypoint is downloaded from a newer Garmin┬« eTrex Vista, all
  6248.          properties are preserved. If, however, this waypoint were saved to a
  6249.          ten-year-old Garmin┬« GPS 38, all information except the name is preserved --
  6250.          <em>the rest of the data is not saved!</em> As a result, developers should be
  6251.          prepared for data loss in these cases. The only guaranteed support by all
  6252.          devices are the first six letters of the waypoint's name, its latitude and its
  6253.          longitude.</para>
  6254.             <para><strong>Important: No functionality is provided to rename or delete a
  6255.          waypoint</strong></para>
  6256.             <para>The Garmin┬« binary protocol provides no way to rename or delete an
  6257.          existing waypoint (!). As a result, if the name of a waypoint is changed ad
  6258.          then saved, a new waypoint will be created. To be certain that a waypoint will
  6259.          not be saved as a copy, only modify the name property when the waypoint is
  6260.          first created. Waypoints must be deleted manually via the controls on the
  6261.          device.</para>
  6262.             <para><img src="BestPractice.jpg"/></para><para><strong>Make a backup or provide the ability to store waypoint information
  6263.          on disk before modifying waypoints on the device</strong></para>
  6264.             <para>Some devices carry a large number of waypoints created over a long period
  6265.          of time. GPS.NET developers should always offer to store a backup of waypoint
  6266.          information before performing modifications to prevent against data loss which
  6267.          may occur to due sudden power loss or device failure.</para>
  6268.         </para>
  6269.     </remarks>
  6270. </member><member name="P:StormSource.Gps.SatelliteCollection.ActiveCount">
  6271.     <summary>Returns the number of satellites detected, regardless of signal 
  6272.  strength.</summary>
  6273.     <value>An <strong>Integer</strong>.</value>
  6274.     <remarks>
  6275.  GPS devices report the location and unique identifier for each satellite, whether
  6276.  it is currently or previously detected. This property is typically used to indicate the
  6277.  maximum number of satellites which <em>could possibly</em> be involved in a fix if the
  6278.  device were in wide open sky. For the number of satellites whose satellite signals have
  6279.  been detected, see the TrackedCount property.
  6280.  </remarks>
  6281. </member><member name="P:StormSource.Gps.SatelliteCollection.TrackedCount">
  6282.     <summary>Returns the number of satellites whose radio signals have been 
  6283.  detected.</summary>
  6284.     <value>An <strong>Integer</strong> value.</value>
  6285.     <remarks>
  6286.  GPS device can only obtain a fix when it can detect radio signals from three or
  6287.  more satellites. This property indicates the number of GPS satellites with a signal
  6288.  strength greater than zero.
  6289.  </remarks>
  6290. </member><member name="T:StormSource.Gps.SatelliteCollection">
  6291.     <summary>
  6292.  Represents information about the locations, fix status and signal strength of all
  6293.  detectable GPS satellites.
  6294.  </summary>
  6295.     <remarks>
  6296.  This collection class is used to organize information for up to sixteen GPS
  6297.  satellites. Statistics about the number of active, tracked and fixed satellites is
  6298.  available, along with accessors to retrieve one satellite object from the
  6299.  collection.
  6300.  </remarks>
  6301. </member><member name="E:StormSource.Gps.Device.BatteryLifeChanged(System.Object,StormSource.Gps.TimeSpanEventArgs)">
  6302.     <summary>Occurs when the BatteryLife property has changed.</summary>
  6303.     <remarks>Magellan┬« devices have the ability to report the number of seconds of remaining battery life.
  6304.  This information is stored in the <see cref="P:StormSource.Gps.Device.BatteryLife">BatteryLife</see> property.  When the 
  6305.  property changes, this event is raised.</remarks>
  6306.     <seealso cref="P:StormSource.Gps.Device.BatteryLife">BatteryLife Property</seealso>
  6307. </member><member name="E:StormSource.Gps.Device.BaudRateChanged(System.Object,System.EventArgs)">
  6308.     <summary>Occurs when the baud rate has been automatically or manually 
  6309.  adjusted.</summary>
  6310.     <remarks>
  6311.  During communications, if a timeout occurs while waiting for data, the GPS.NET
  6312.  engine will attempt to switch the baud rate from 4800 to 9600 (or vice versa) in an
  6313.  attempt to detect NMEA or Garmin┬« binary information. If both baud rates are tried with
  6314.  no success, the <see cref="E:StormSource.Gps.Device.Timeout(System.Object,System.EventArgs)">Timeout</see> event is raised, and 
  6315.  communications are halted.
  6316.  </remarks>
  6317. </member><member name="E:StormSource.Gps.Device.DeviceIdentified(System.Object,StormSource.Gps.DeviceEventArgs)">
  6318.     <summary>Garmin┬« devices only. Occurs when the device has been uniquely 
  6319.  identified.</summary>
  6320.     <remarks>
  6321.  The Garmin┬« binary protocol includes the ability to identify the specific model
  6322.  of the device. When the device has been identified, this event is raised. This
  6323.  typically occurs shortly after connecting to a Garmin┬« GPS device set to use the
  6324.  Garmin┬« binary protocol.
  6325.  </remarks>
  6326. </member><member name="E:StormSource.Gps.Device.ManufacturerChanged(System.Object,StormSource.Gps.DeviceEventArgs)">
  6327.     <summary>Occurs when the manufacturer becomes more specifically known.</summary>
  6328.     <remarks>
  6329.  While processing raw GPS data, a particular sentence may be received which gives
  6330.  some indication to the manufacturer of the device. For example, any sentence beginning
  6331.  with "$PGRM" indicates that the device was manufactured by
  6332.  <a href="http://www.garmin.com">Garmin International, Inc.</a> If the device never
  6333.  transmits custom sentences, this event may never be raised.
  6334.  </remarks>
  6335.     <seealso cref="P:StormSource.Gps.Device.Manufacturer">Manufacturer Property</seealso>
  6336. </member><member name="E:StormSource.Gps.Device.ProductNameChanged(System.Object,System.EventArgs)">
  6337.     <summary>Occurs when the model of the device becomes more specifically known.</summary>
  6338.     <remarks>
  6339.  Similar to the ManufacturerChanged event, this event is Occurs when information
  6340.  is received which gives clues as to the model of the device. If the device only
  6341.  transmits standard NMEA sentences, this event may not get raised more than once.
  6342.  </remarks>
  6343.     <seealso cref="P:StormSource.Gps.Device.Name">Name Property</seealso>
  6344. </member><member name="E:StormSource.Gps.Device.ProtocolChanged(System.Object,StormSource.Gps.DeviceEventArgs)">
  6345.     <summary>Occurs when the method used to transmit GPS data has changed.</summary>
  6346.     <remarks>
  6347.         <para>The GPS.NET processing engine is designed to automatically detect any changes
  6348.      in protocol during run-time. If, for example, a user changes the protocol from
  6349.      Garmin┬« binayr to NMEA, this event is raised and GPS.NET adjusts itself
  6350.      accordingly.</para>
  6351.         <para><em>NOTE: As support for new protocols is added, this event will be raised
  6352.      more frequently.</em></para>
  6353.     </remarks>
  6354. </member><member name="E:StormSource.Gps.Device.Timeout(System.Object,System.EventArgs)">
  6355.     <summary>Occurs when an expected response is not received in a timely 
  6356.  fashion.</summary>
  6357.     <remarks>
  6358.         <para>If no response is received from the device after connecting or issuing a
  6359.      command, the GPS.NET processing engine attempts to re-connect using different
  6360.      settings to provoke a response. If all setting combinations have been tried but
  6361.      there is still no response, this event is raised.</para>
  6362.     </remarks>
  6363. </member><member name="P:StormSource.Gps.Device.IsIdentified">
  6364.     <summary>
  6365.  Garmin┬« devices only. Identifies if the devices can be uniquely identified from
  6366.  any other device.
  6367.  </summary>
  6368.     <value>Read only. A <strong>Boolean</strong> value, <strong>True</strong> if
  6369.  the device manufacturer, model, and capabilities have been identified.</value>
  6370.     <remarks>
  6371.  This property becomes <strong>True</strong> once manufacturer, name and software
  6372.  version information has been received from the device.  When the device becomes
  6373.  identified, the <see cref="E:StormSource.Gps.Device.DeviceIdentified(System.Object,StormSource.Gps.DeviceEventArgs)">DeviceIdentified</see> event is raised.
  6374.  </remarks>
  6375.     <example>
  6376.  This example writes information about the device if it has been uniquely identified.
  6377.  <code lang="VB">
  6378.  Dim MyReceiver As New Receiver()
  6379.  ' Has the device been identified?
  6380.  If MyReceiver.Device.IsIdentified Then
  6381.      ' Write the product name of the device (i.e. eTrex Vista┬«)
  6382.      Debug.WriteLine(MyReceiver.Device.Name)
  6383.      ' Write the manufacturer
  6384.      Debug.WriteLine(MyReceiver.Device.Manufacturer.ToString)
  6385.      ' Write the firmware/software version
  6386.      Debug.WriteLine(MyReceiver.Device.SoftwareVersion
  6387.  Else
  6388.      ' The device has not been identified
  6389.  End If
  6390.  </code>
  6391.         <code lang="C#">
  6392.  Receiver MyReceiver = new Receiver();
  6393.  // Has the device been identified?
  6394.  if (MyReceiver.Device.IsIdentified)
  6395.  {
  6396.      // Write the product name of the device (i.e. eTrex Vista┬«)
  6397.      Debug.WriteLine(MyReceiver.Device.Name);
  6398.      // Write the manufacturer
  6399.      Debug.WriteLine(MyReceiver.Device.Manufacturer.ToString);
  6400.      // Write the firmware/software version
  6401.      Debug.WriteLine(MyReceiver.Device.SoftwareVersion;
  6402.  }
  6403.  else
  6404.  {
  6405.      // The device has not been identified
  6406.  }
  6407.  </code>
  6408.     </example>
  6409.     <seealso cref="E:StormSource.Gps.Device.DeviceIdentified(System.Object,StormSource.Gps.DeviceEventArgs)">DeviceIdentified Event</seealso>
  6410. </member><member name="M:StormSource.Gps.Device.GetAvailableComPorts">
  6411.     <summary>Returns a list of available, non-virtual serial ports.</summary>
  6412.     <remarks>
  6413.         <para>This property is useful for assisting the user in figuring out which serial
  6414.      port they should use. Ideally, the serial port settings process would be
  6415.      automatic.</para>
  6416.         <para>NOTE: Virtual serial ports, such as those created by Bluetooth(tm) and other
  6417.      wireless GPS devices, are not included. However, a sweep through com ports 1
  6418.      through 20 can be performed with acceptable speed. An example is available which
  6419.      demonstrates how to detect available GPS devices in a timely fashion. Please visit
  6420.      the <a href="http://www.gpsdotnet.com/support">GPS.NET support web site</a> for
  6421.      more information.</para>
  6422.     </remarks>
  6423.     <returns>
  6424.  An array containing <strong>Integer</strong> values. A value of 1 indicates that
  6425.  COM1 is available.
  6426.  </returns>
  6427. </member><member name="M:StormSource.Gps.Device.Equals(System.String)">
  6428.     <overloads>Compares two GPS devices.</overloads>
  6429. </member><member name="M:StormSource.Gps.Device.PowerOff">
  6430.     <summary>Garmin┬« devices only. Shuts down the device.</summary>
  6431.     <remarks>
  6432.  This method has the same effect as pressing the power button on the device.
  6433.  <para><img src="BestPractice.jpg"/></para><para><strong>Always ask the user for
  6434.  confirmation before issuing a poweroff command.</strong></para>
  6435.         <para>GPS devices can be used in situations where they are not easy to power back
  6436.  on.  Other situations, such as piloting aircraft, may demand that a GPS device
  6437.  remain on for safety reasons.  Always warn the user before proceeding to issue a
  6438.  call to the <see cref="M:StormSource.Gps.Device.PowerOff">PowerOff</see> method.</para>
  6439.         <para><img src="PowerOff.jpg"/></para><para><strong>GPS devices must be powered
  6440.  back on manually after they are shut down via the <see cref="M:StormSource.Gps.Device.PowerOff">PowerOff</see>
  6441.  method.</strong></para>
  6442.         <para>The Garmin┬« binary protocol includes no support to turn a GPS device back
  6443.  on programmatically.  Therefore, always warn the user that they must manually turn
  6444.  the deice back on before calling the <see cref="M:StormSource.Gps.Device.PowerOff">PowerOff</see> method.</para>
  6445.     </remarks>
  6446. </member><member name="M:StormSource.Gps.Device.GetColors">
  6447.     <summary>Garmin┬« devices only. Returns a list of colors supported by the 
  6448.  device.</summary>
  6449.     <remarks>
  6450.         <para>This array is typically used as the contents for a drop-down box for the user
  6451.      when creating a waypoint. Garmin┬« GPS devices have widely-varying ways in which
  6452.      they can display a waypoint. While a newer device would support several colors and
  6453.      display options, an older device may only support three or even just one color.
  6454.      Therefore, this list of supported colors changes depending on the device. The
  6455.      current maximum number of known colors is 16.</para>
  6456.     </remarks>
  6457.     <returns>
  6458.  An array of one or more values from the
  6459.  <see cref="T:StormSource.Gps.WaypointColor">
  6460.  WaypointColor</see> enumeration.
  6461.  </returns>
  6462. </member><member name="M:StormSource.Gps.Device.GetDisplayModes">
  6463.     <summary>
  6464.  Garmin┬« devices only. Returns a list of waypoint display modes supported by the
  6465.  device.
  6466.  </summary>
  6467.     <returns>
  6468.         <para>This array is typically used as the contents for a drop-down box for the user
  6469.      when creating a waypoint. An array of one or more of the values from the
  6470.      
  6471.  <see cref="T:StormSource.Gps.WaypointDisplayMode">
  6472.      WaypointDisplayMode</see> enumeration.:</para>
  6473.     </returns>
  6474. </member><member name="M:StormSource.Gps.Device.GetSymbols">
  6475.     <summary>
  6476.  Garmin┬« devices only.Returns a list of waypoint symbols supported by the
  6477.  device.
  6478.  </summary>
  6479.     <returns>
  6480.  An array of one or more values from the
  6481.  <see cref="T:StormSource.Gps.WaypointSymbol">
  6482.  WaypointSymbol</see> enumeration.
  6483.  </returns>
  6484.     <remarks>
  6485.  This array is typically used as the contents for a drop-down box for the user
  6486.  when creating a waypoint. Symbols are the most common method used to describe a
  6487.  waypoint, especially if several waypoints must be displayed close to each other. Newer
  6488.  devices are able to support many symbols, whereas older devices may only support about
  6489.  twently.
  6490.  </remarks>
  6491. </member><member name="P:StormSource.Gps.Device.Type">
  6492.     <summary>
  6493.  Garmin┬« devices only. Indicates the specific model of the device if it is
  6494.  uniquely identified.
  6495.  </summary>
  6496.     <value>
  6497.  A value from the
  6498.  <see cref="T:StormSource.Gps.DeviceType">DeviceType</see>
  6499.  enumeration.
  6500.  </value>
  6501.     <remarks>
  6502.         <para>If the device has been uniquely identified (apart from any other device),
  6503.      this property returns a unique code for the device.</para>
  6504.         <para>Currently, only Garmin┬« devices are supported in the list, but the
  6505.      enumeration will expand as more devices can be identified. Eventually, this
  6506.      property may serve as a "globally unique GPS device ID".</para>
  6507.     </remarks>
  6508. </member><member name="P:StormSource.Gps.Device.Name">
  6509.     <summary>Returns a user-friendly name for the device.</summary>
  6510.     <value>A <strong>String</strong> value.</value>
  6511.     <remarks>
  6512.  If the device has been uniquely identified, this property returns the product name
  6513.  of the device (i.e. "eTrex Vista" or "Garmin III").  A more generic name such as
  6514.  "Generic NMEA-compliant Device" may be returned if some device information is known,
  6515.  but not enough to <u>uniquely</u> identify the device.
  6516.  </remarks>
  6517.     <example>
  6518.  This example writes information about the device if it has been uniquely identified.
  6519.  <code lang="VB">
  6520.  Dim MyReceiver As New Receiver()
  6521.  ' Has the device been identified?
  6522.  If MyReceiver.Device.IsIdentified Then
  6523.      ' Write the product name of the device (i.e. eTrex Vista┬«)
  6524.      Debug.WriteLine(MyReceiver.Device.Name)
  6525.      ' Write the manufacturer
  6526.      Debug.WriteLine(MyReceiver.Device.Manufacturer.ToString)
  6527.      ' Write the firmware/software version
  6528.      Debug.WriteLine(MyReceiver.Device.SoftwareVersion
  6529.  Else
  6530.      ' The device has not been identified
  6531.  End If
  6532.  </code>
  6533.         <code lang="C#">
  6534.  Receiver MyReceiver = new Receiver();
  6535.  // Has the device been identified?
  6536.  if (MyReceiver.Device.IsIdentified)
  6537.  {
  6538.      // Write the product name of the device (i.e. eTrex Vista┬«)
  6539.      Debug.WriteLine(MyReceiver.Device.Name);
  6540.      // Write the manufacturer
  6541.      Debug.WriteLine(MyReceiver.Device.Manufacturer.ToString);
  6542.      // Write the firmware/software version
  6543.      Debug.WriteLine(MyReceiver.Device.SoftwareVersion;
  6544.  }
  6545.  else
  6546.  {
  6547.      // The device has not been identified
  6548.  }
  6549.  </code>
  6550.     </example>
  6551.     <seealso cref="P:StormSource.Gps.Device.Manufacturer">Manufacturer Property</seealso>
  6552.     <seealso cref="P:StormSource.Gps.Device.SoftwareVersion">SoftwareVersion Property</seealso>
  6553. </member><member name="P:StormSource.Gps.Device.SupportsWaypoints">
  6554.     <summary>
  6555.  Garmin┬« devices only. Identifies if the device can store information about
  6556.  arbitrary locations on Earth.
  6557.  </summary>
  6558.     <value>A <strong>Boolean</strong> value.</value>
  6559.     <remarks>
  6560.  This property should always be checked before performing any operations which
  6561.  require waypoint support from the device.
  6562.  </remarks>
  6563.     <example>
  6564.         <code lang="VB" title="SupportsWaypoints example 1" description="This example demonstrates poor programming practice with waypoints. The 
  6565.  Device.SupportsWaypoints property should always be checked before performing waypoint 
  6566.  operations.">
  6567.  
  6568.  Dim GPS As New Receiver()
  6569.  GPS.Start()
  6570.  ' Wait for the device to be identified
  6571.  ' ...
  6572.  ' Return the number of waypoints on the device
  6573.  Debug.WriteLine(GPS.Device.Waypoints.Count)
  6574.  </code>
  6575.         <code lang="VB" title="SupportsWaypoints example 2" description="This example demonstrates a GPS.NET best practice by verifying that the 
  6576.  device supports waypoints before performing waypoint-related operations.">
  6577.  
  6578.  Dim GPS As New Receiver()
  6579.  GPS.Start()
  6580.  ' Wait for the device to be identified
  6581.  ' ...
  6582.  If GPS.Device.SupportsWaypoints Then
  6583.      Debug.WriteLine(Device.Waypoints.Count)
  6584.  Else
  6585.      Debug.WriteLine("This device does not support waypoints.")
  6586.  End If
  6587.  </code>
  6588.     </example>
  6589. </member><member name="P:StormSource.Gps.Device.SupportsTracks">
  6590.     <summary>
  6591.  Garmin┬« devices only. Identifies if the device supports information about
  6592.  previous travels.
  6593.  </summary>
  6594. </member><member name="P:StormSource.Gps.Device.SupportsPowerOff">
  6595.     <summary>
  6596.  Garmin┬« devices only. Identifies if the device can be turned off
  6597.  programmatically.
  6598.  </summary>
  6599.     <remarks>This property is typically used to determine if a call to the PowerOff 
  6600.  method will have any effect on the device.  Most Garmin┬« devices do support a
  6601.  power-off command.
  6602.  <para><img src="BestPractice.jpg"/></para><para><strong>Always ask the user for
  6603.  confirmation before issuing a poweroff command.</strong></para>
  6604.         <para>GPS devices can be used in situations where they are not easy to power back
  6605.  on.  Other situations, such as piloting aircraft, may demand that a GPS device
  6606.  remain on for safety reasons.  Always warn the user before proceeding to issue a
  6607.  call to the <see cref="M:StormSource.Gps.Device.PowerOff">PowerOff</see> method.</para>
  6608.         <para><img src="PowerOff.jpg"/></para><para><strong>GPS devices must be powered
  6609.  back on manually after they are shut down via the <see cref="M:StormSource.Gps.Device.PowerOff">PowerOff</see>
  6610.  method.</strong></para>
  6611.         <para>The Garmin┬« binary protocol includes no support to turn a GPS device back
  6612.  on programmatically.  Therefore, always warn the user that they must manually turn
  6613.  the deice back on before calling the <see cref="M:StormSource.Gps.Device.PowerOff">PowerOff</see> method.</para>
  6614.     </remarks>
  6615. </member><member name="P:StormSource.Gps.Device.SupportsIdentification">
  6616.     <summary>
  6617.  Garmin┬« devices only. Identifies if the device provides a way to identify
  6618.  itself.
  6619.  </summary>
  6620.     <remarks>This property is used to indicate if a device is able to send information
  6621.  such as the <see cref="P:StormSource.Gps.Device.Name">name</see> and <see cref="P:StormSource.Gps.Device.SoftwareVersion">software version</see>.  When connecting to a
  6622.  Garmin┬« device, GPS.NET will automatically download as much device identification 
  6623.  information as possible.  Once the device has been identified, the <see cref="P:StormSource.Gps.Device.IsIdentified">IsIdentified</see>
  6624.  property becomes <strong>True</strong> and the <see cref="E:StormSource.Gps.Device.DeviceIdentified(System.Object,StormSource.Gps.DeviceEventArgs)">DeviceIdentified</see> event 
  6625.  is raised.
  6626.  </remarks>
  6627.     <seealso cref="P:StormSource.Gps.Device.IsIdentified">IsIdentified Property</seealso>
  6628.     <seealso cref="E:StormSource.Gps.Device.DeviceIdentified(System.Object,StormSource.Gps.DeviceEventArgs)">DeviceIdentified Event</seealso>
  6629. </member><member name="P:StormSource.Gps.Device.SupportsPositionVelocityTime">
  6630.     <summary>
  6631.  Garmin┬« devices only. Indicates if the device is able to report information abut
  6632.  the current position, velocity and time data.
  6633.  </summary>
  6634.     <value>
  6635.  A <strong>Boolean</strong>. <strong>True</strong> if the feature is
  6636.  supported.
  6637.  </value>
  6638.     <remarks>
  6639.         <para>This property is typically used to check if the device can report PVT data.
  6640.      NOTE: PVT data is not supported in version 1.4 of GPS.NET.</para>
  6641.         <para><img src="BestPractice.jpg"/></para><para><strong>Use the NMEA protocol
  6642.      whenever possible for updates regarding the current position.</strong></para>
  6643.         <para>While the Garmin┬« binary and text protocols are able to report the current
  6644.      location, important precision information is missing which may result in navigation
  6645.      errors. Use the NMEA protocol instead for the greatest control over positional
  6646.      accuracy.</para>
  6647.     </remarks>
  6648. </member><member name="P:StormSource.Gps.Device.SupportsRoutes">
  6649.     <summary>
  6650.  Garmin┬« devices only. Identifies if the device can store pre-defined paths of
  6651.  travel.
  6652.  </summary>
  6653.     <value>
  6654.  A <strong>Boolean</strong>, <strong>True</strong> if the feature is
  6655.  supported.
  6656.  </value>
  6657.     <remarks>
  6658.         <para>Most Garmin┬« devices can store information about routes.</para>
  6659.         <para><em>NOTE: Routes are not supported in version 1.4. The feature has been
  6660.      postponed to version 1.5.</em></para>
  6661.     </remarks>
  6662. </member><member name="P:StormSource.Gps.Device.SupportsAlmanac">
  6663.     <summary>
  6664.  Garmin┬« devices only. Indicates if the device can communicate information it uses
  6665.  to quickly obtain a fix.
  6666.  </summary>
  6667.     <remarks>
  6668.  Each GPS device contains an "almanac," which is information such as the date,
  6669.  time, correction coefficients and rate of right ascension. When an almanac has valid
  6670.  data, the GPS device can rapidly obtain a fix, known as a "warm" or "hot" start. While
  6671.  every device stores an almanac, only a few devices are able to <em>transmit</em>
  6672.  almanac information.
  6673.  </remarks>
  6674.     <value>
  6675.  A <strong>Boolean</strong>, <strong>True</strong> if the device can transmit its
  6676.  own almanac.
  6677.  </value>
  6678. </member><member name="P:StormSource.Gps.Device.SoftwareVersion">
  6679.     <summary>
  6680.  Returns the version of the software or firmware used internally by the
  6681.  device.
  6682.  </summary>
  6683.     <remarks>
  6684.  Some devices, such as the <a href="http://www.delorme.com/earthmate/">DeLorme┬«
  6685.  EarthMate USB</a>, and all Garmin┬« devices, are able to report the version of its own
  6686.  firmware. This property is typically used for informational purposes for the user.
  6687.  </remarks>
  6688.     <value>Read-only. A <strong>String</strong> containing the alphanumeric 
  6689.  version.</value>
  6690.     <example>
  6691.  This example writes information about the device if it has been uniquely identified.
  6692.  <code lang="VB">
  6693.  Dim MyReceiver As New Receiver()
  6694.  ' Has the device been identified?
  6695.  If MyReceiver.Device.IsIdentified Then
  6696.      ' Write the product name of the device (i.e. eTrex Vista┬«)
  6697.      Debug.WriteLine(MyReceiver.Device.Name)
  6698.      ' Write the manufacturer
  6699.      Debug.WriteLine(MyReceiver.Device.Manufacturer.ToString)
  6700.      ' Write the firmware/software version
  6701.      Debug.WriteLine(MyReceiver.Device.SoftwareVersion
  6702.  Else
  6703.      ' The device has not been identified
  6704.  End If
  6705.  </code>
  6706.         <code lang="C#">
  6707.  Receiver MyReceiver = new Receiver();
  6708.  // Has the device been identified?
  6709.  if (MyReceiver.Device.IsIdentified)
  6710.  {
  6711.      // Write the product name of the device (i.e. eTrex Vista┬«)
  6712.      Debug.WriteLine(MyReceiver.Device.Name);
  6713.      // Write the manufacturer
  6714.      Debug.WriteLine(MyReceiver.Device.Manufacturer.ToString);
  6715.      // Write the firmware/software version
  6716.      Debug.WriteLine(MyReceiver.Device.SoftwareVersion;
  6717.  }
  6718.  else
  6719.  {
  6720.      // The device has not been identified
  6721.  }
  6722.  </code>
  6723.     </example>
  6724. </member><member name="P:StormSource.Gps.Device.StopBits">
  6725.     <summary>Returns the length of time a stop bit is sent before another data packet begins.</summary>
  6726.     <remarks>This property is used to indicate how many bits of data are sent between each set of <see cref="P:StormSource.Gps.Device.DataBits">data bits</see>.  
  6727.  There may either be one, one-and-a-half, or two stop bits.  A vast majority of GPS
  6728.  devices use just one stop bit, which is the default value used by GPS.NET.</remarks>
  6729.     <value>A value from the <see cref="T:StormSource.Gps.DataBit">DataBit</see> enumeration.</value>
  6730.     <example>
  6731.  This example configures the receiver to use serial port COM3, two stop bits, and a baud rate of 9600 baud.
  6732.  <code lang="VB">
  6733.  ' Configure a receiver for COM3 at 9600 baud
  6734.  Dim MyReceiver As New Receiver()
  6735.  MyReceiver.ComPort = ComPort.Com3
  6736.  MyReceiver.BaudRate = BaudRate.Baud9600
  6737.  MyReceiver.StopBits = StopBit.Bit2
  6738.  
  6739.  ' Now that the receiver is configured, begin GPS communications
  6740.  MyReceiver.Start()
  6741.  </code>
  6742.         <code lang="C#">
  6743.  // Configure a receiver for COM3 at 9600 baud
  6744.  Receiver MyReceiver = new Receiver();
  6745.  MyReceiver.ComPort = ComPort.Com3;
  6746.  MyReceiver.BaudRate = BaudRate.Baud9600;
  6747.  MyReceiver.StopBits = StopBit.Bit2;
  6748.  
  6749.  // Now that the receiver is configured, begin GPS communications
  6750.  MyReceiver.Start()
  6751.  </code>
  6752.     </example>
  6753.     <seealso cref="T:StormSource.Gps.StopBit">StopBit Enumeration</seealso>
  6754.     <seealso cref="P:StormSource.Gps.Receiver.StopBits">StopBits Property (Receiver Class)</seealso>
  6755.     <seealso cref="P:StormSource.Gps.Device.ComPort">ComPort Property</seealso>
  6756.     <seealso cref="P:StormSource.Gps.Device.BaudRate">BaudRate Property</seealso>
  6757.     <seealso cref="P:StormSource.Gps.Device.DataBits">DataBits Property</seealso>
  6758.     <seealso cref="P:StormSource.Gps.Device.Parity">Parity Property</seealso>
  6759. </member><member name="P:StormSource.Gps.Device.Manufacturer">
  6760.     <summary>Returns the name of the company which produces the device.</summary>
  6761.     <remarks>
  6762.  This property is typically used along with the
  6763.  <see cref="P:StormSource.Gps.Device.Name">Name</see> and
  6764.  <see cref="P:StormSource.Gps.Device.SoftwareVersion">SoftwareVersion</see> properties to display
  6765.  in a user interface.
  6766.  </remarks>
  6767.     <value>
  6768.  A value from the
  6769.  <see cref="P:StormSource.Gps.Device.Manufacturer">Manufacturer</see> enumeration.
  6770.  </value>
  6771.     <example>
  6772.  This example writes information about the device if it has been uniquely identified.
  6773.  <code lang="VB">
  6774.  Dim MyReceiver As New Receiver()
  6775.  ' Has the device been identified?
  6776.  If MyReceiver.Device.IsIdentified Then
  6777.      ' Write the product name of the device (i.e. eTrex Vista┬«)
  6778.      Debug.WriteLine(MyReceiver.Device.Name)
  6779.      ' Write the manufacturer
  6780.      Debug.WriteLine(MyReceiver.Device.Manufacturer.ToString)
  6781.      ' Write the firmware/software version
  6782.      Debug.WriteLine(MyReceiver.Device.SoftwareVersion
  6783.  Else
  6784.      ' The device has not been identified
  6785.  End If
  6786.  </code>
  6787.         <code lang="C#">
  6788.  Receiver MyReceiver = new Receiver();
  6789.  // Has the device been identified?
  6790.  if (MyReceiver.Device.IsIdentified)
  6791.  {
  6792.      // Write the product name of the device (i.e. eTrex Vista┬«)
  6793.      Debug.WriteLine(MyReceiver.Device.Name);
  6794.      // Write the manufacturer
  6795.      Debug.WriteLine(MyReceiver.Device.Manufacturer.ToString());
  6796.      // Write the firmware/software version
  6797.      Debug.WriteLine(MyReceiver.Device.SoftwareVersion;
  6798.  }
  6799.  else
  6800.  {
  6801.      // The device has not been identified
  6802.  }
  6803.  </code>
  6804.     </example>
  6805.     <seealso cref="E:StormSource.Gps.Device.ManufacturerChanged(System.Object,StormSource.Gps.DeviceEventArgs)">ManufacturerChanged Event</seealso>
  6806.     <seealso cref="P:StormSource.Gps.Device.Name">Name Property</seealso>
  6807.     <seealso cref="P:StormSource.Gps.Device.SoftwareVersion">SoftwareVersion Property</seealso>
  6808. </member><member name="P:StormSource.Gps.Device.BatteryLife">
  6809.     <summary>Magellan┬« devices only.  Returns the battery life remaining for this device.</summary>
  6810.     <remarks>Magellan┬« devices report the number of seconds of battery life remaining on the device. If
  6811.  battery life information is available, this property will contain a value greater than zero.  When
  6812.  this property changes, the <see cref="E:StormSource.Gps.Device.BatteryLifeChanged(System.Object,StormSource.Gps.TimeSpanEventArgs)">BatteryLifeChanged</see> event is raised.
  6813.  </remarks>
  6814.     <example>
  6815.  This example gives a warning if there are under two minutes of battery life remaining.
  6816.  <code lang="VB">
  6817.  Dim MyGps As New Receiver()
  6818.  
  6819.  ' Is battery life supported by the device?
  6820.  If MyGps.BatteryLife.TotalMinutes > 0 Then
  6821.      ' Yes. Is the remaining life under two minutes?
  6822.      If MyGps.BatteryLife.TotalMinutes < 2 Then
  6823.        ' There is little battery life left!
  6824.      End If
  6825.  End If
  6826.  </code>
  6827.         <code lang="C#">
  6828.  Receiver MyGps = new Receiver();
  6829.  
  6830.  // Is battery life supported by the device?
  6831.  if (MyGps.BatteryLife.TotalMinutes > 0)
  6832.  {
  6833.      // Yes. Is the remaining life under two minutes?
  6834.      if (MyGps.BatteryLife.TotalMinutes < 2)
  6835.      {
  6836.        // There is little battery life left!
  6837.      }
  6838.  }
  6839.  </code>
  6840.     </example>
  6841.     <seealso cref="E:StormSource.Gps.Device.BatteryLifeChanged(System.Object,StormSource.Gps.TimeSpanEventArgs)">BatteryLifeChanged Event</seealso>
  6842. </member><member name="P:StormSource.Gps.Device.BaudRate">
  6843.     <summary>Controls the number of bits per send sent to and from a serial port.</summary>
  6844.     <remarks>This property is used to indicate how fast the data is being sent from the GPS 
  6845.  device.  Typically, GPS devices using the NMEA-0183 protocol send data at 4800 baud, 
  6846.  which is the default baud rate.  If the baud rate is set incorrectly, a connection to the
  6847.  device will be successful, but no data (or garbage) may be received.  GPS.NET will 
  6848.  attempt to try baud rates of 4800 and 9600 automatically if no response is received from 
  6849.  the device.
  6850.  </remarks>
  6851.     <value>A value from the <see cref="P:StormSource.Gps.Device.BaudRate">BaudRate</see> enumeration.</value>
  6852.     <example>
  6853.  This example configures the receiver to use serial port COM3 a baud rate of 9600 baud.
  6854.  <code lang="VB">
  6855.  ' Configure a receiver for COM3 at 9600 baud
  6856.  Dim MyReceiver As New Receiver()
  6857.  MyReceiver.ComPort = ComPort.Com3
  6858.  MyReceiver.BaudRate = BaudRate.Baud9600
  6859.  
  6860.  ' Now that the receiver is configured, begin GPS communications
  6861.  MyReceiver.Start()
  6862.  </code>
  6863.         <code lang="C#">
  6864.  // Configure a receiver for COM3 at 9600 baud
  6865.  Receiver MyReceiver = new Receiver();
  6866.  MyReceiver.ComPort = ComPort.Com3;
  6867.  MyReceiver.BaudRate = BaudRate.Baud9600;
  6868.  
  6869.  // Now that the receiver is configured, begin GPS communications
  6870.  MyReceiver.Start()
  6871.  </code>
  6872.     </example>
  6873.     <seealso cref="P:StormSource.Gps.Device.BaudRate">BaudRate Enumeration</seealso>
  6874.     <seealso cref="P:StormSource.Gps.Receiver.BaudRate">BaudRate Property (Receiver Class)</seealso>
  6875.     <seealso cref="P:StormSource.Gps.Device.ComPort">ComPort Property</seealso>
  6876.     <seealso cref="P:StormSource.Gps.Device.DataBits">DataBits Property</seealso>
  6877.     <seealso cref="P:StormSource.Gps.Device.StopBits">StopBits Property</seealso>
  6878.     <seealso cref="P:StormSource.Gps.Device.Parity">Parity Property</seealso>
  6879. </member><member name="P:StormSource.Gps.Device.ComPort">
  6880.     <summary>Returns the serial port on which the GPS device is connected.</summary>
  6881.     <remarks><para>The communications (or COM for short) port is the method of communication
  6882.  used between the computer and GPS device.  Some devices, such as BluetoothΓäó and
  6883.  the DeLorme Earthmate┬« USB receiver will create their own virtual serial port.  If
  6884.  the COM port is not correctly set, an exception may be raised, or no response will 
  6885.  be received from the GPS device.  This property accepts any integer value along with
  6886.  any value from the <seealso cref="P:StormSource.Gps.Device.ComPort">ComPort</seealso> enumeration.</para>
  6887.         <para><strong>Using GPS Units That Connect to a USB Port</strong></para>
  6888.         <para>Some GPS units, such as more recent models of the DeLorme EarthMate┬«*, connect 
  6889.  via a USB port instead of a serial port.  Since a proprietary communication protocol 
  6890.  is used to communicate directly with a USB port, it is not included within this 
  6891.  namespace.  However, many manufacturers include "GPS-to-Serial" drivers which overcome 
  6892.  this problem.  Use the following list to locate the appropriate drivers.  If you know 
  6893.  of one not on the list, please <a href="mailto:support@gpsdotnet.com">contact GPS.NET developers</a>.</para>
  6894.         <para><strong>USB-to-Serial Drivers for the DeLorme Earthmate┬« GPS Receiver</strong></para>
  6895.         <para><see href="http://www.delorme.com/support/gps/uemate005.asp">http://www.delorme.com/support/gps/uemate005.asp</see></para>
  6896.         <para><font size="1">* EarthMate USB is a registered trademark of DeLorme Corporation (www.delorme.com).</font></para>
  6897.     </remarks>
  6898.     <value>A value from the <see cref="P:StormSource.Gps.Device.ComPort">ComPort</see> enumeration.</value>
  6899.     <example>
  6900.  This example configures the receiver to use serial port COM3 a baud rate of 9600 baud.
  6901.  <code lang="VB">
  6902.  ' Configure a receiver for COM3 at 9600 baud
  6903.  Dim MyReceiver As New Receiver()
  6904.  MyReceiver.ComPort = ComPort.Com3
  6905.  MyReceiver.BaudRate = BaudRate.Baud9600
  6906.  
  6907.  ' Now that the receiver is configured, begin GPS communications
  6908.  MyReceiver.Start()
  6909.  </code>
  6910.         <code lang="C#">
  6911.  // Configure a receiver for COM3 at 9600 baud
  6912.  Receiver MyReceiver = new Receiver();
  6913.  MyReceiver.ComPort = ComPort.Com3;
  6914.  MyReceiver.BaudRate = BaudRate.Baud9600;
  6915.  
  6916.  // Now that the receiver is configured, begin GPS communications
  6917.  MyReceiver.Start()
  6918.  </code>
  6919.     </example>
  6920.     <seealso cref="P:StormSource.Gps.Device.ComPort">ComPort Enumeration</seealso>
  6921.     <seealso cref="P:StormSource.Gps.Receiver.ComPort">ComPort Property (Receiver Class)</seealso>
  6922.     <seealso cref="P:StormSource.Gps.Device.BaudRate">BaudRate Property</seealso>
  6923.     <seealso cref="P:StormSource.Gps.Device.DataBits">DataBits Property</seealso>
  6924.     <seealso cref="P:StormSource.Gps.Device.StopBits">StopBits Property</seealso>
  6925.     <seealso cref="P:StormSource.Gps.Device.Parity">Parity Property</seealso>
  6926. </member><member name="P:StormSource.Gps.Device.DataBits">
  6927.     <summary>Returns the number of data bits sent in between each stop bit.</summary>
  6928.     <remarks>This property is used to indicate how many bits of data are sent between each stop bit.  There may either be 5, 6, 7, or 8 data bits, depending on the number you have selected. Both receiver and the transmitter must agree on the number of data bits, as well as the baud rate. Almost all devices transmit data using either 7 or 8 databits.  After the data has been transmitted, a stop bit is sent.  Typically, GPS devices send 8 bits of data, which is the default of the receiver class.</remarks>
  6929.     <value>A value from the <see cref="T:StormSource.Gps.DataBit">DataBit</see> enumeration.</value>
  6930.     <example>
  6931.  This example configures the receiver to use serial port COM3, seven data bits, and a baud rate of 9600 baud.
  6932.  <code lang="VB">
  6933.  ' Configure a receiver for COM3 at 9600 baud
  6934.  Dim MyReceiver As New Receiver()
  6935.  MyReceiver.ComPort = ComPort.Com3
  6936.  MyReceiver.BaudRate = BaudRate.Baud9600
  6937.  MyReceiver.DataBits = DataBit.Bit7
  6938.  
  6939.  ' Now that the receiver is configured, begin GPS communications
  6940.  MyReceiver.Start()
  6941.  </code>
  6942.         <code lang="C#">
  6943.  // Configure a receiver for COM3 at 9600 baud
  6944.  Receiver MyReceiver = new Receiver();
  6945.  MyReceiver.ComPort = ComPort.Com3;
  6946.  MyReceiver.BaudRate = BaudRate.Baud9600;
  6947.  MyReceiver.DataBits = DataBit.Bit7;
  6948.  
  6949.  // Now that the receiver is configured, begin GPS communications
  6950.  MyReceiver.Start()
  6951.  </code>
  6952.     </example>
  6953.     <seealso cref="T:StormSource.Gps.DataBit">DataBit Enumeration</seealso>
  6954.     <seealso cref="P:StormSource.Gps.Receiver.DataBits">DataBits Property (Receiver Class)</seealso>
  6955.     <seealso cref="P:StormSource.Gps.Device.ComPort">ComPort Property</seealso>
  6956.     <seealso cref="P:StormSource.Gps.Device.BaudRate">BaudRate Property</seealso>
  6957.     <seealso cref="P:StormSource.Gps.Device.StopBits">StopBits Property</seealso>
  6958.     <seealso cref="P:StormSource.Gps.Device.Parity">Parity Property</seealso>
  6959. </member><member name="P:StormSource.Gps.Device.Parity">
  6960.     <summary>Returns the error correction method used during communications.</summary>
  6961.     <value>A value from the <see cref="T:StormSource.Gps.Parity">Parity</see> enumeration.  Default is <strong>None</strong>.</value>
  6962.     <remarks>This property is rarely used except for some older and more proprietary
  6963.  devices.  Parity is a simple error correction method used to verify that information
  6964.  transmitted to or from the GPS device has not become corrupt.  For a vast majority
  6965.  of GPS devices, this property will remain at its default value of <strong>None</strong>.
  6966.  </remarks>
  6967.     <example>
  6968.  This example configures the receiver to use serial port COM3, even parity, and a baud rate of 9600 baud.
  6969.  <code lang="VB">
  6970.  ' Configure a receiver for COM3 at 9600 baud
  6971.  Dim MyReceiver As New Receiver()
  6972.  MyReceiver.ComPort = ComPort.Com3
  6973.  MyReceiver.BaudRate = BaudRate.Baud9600
  6974.  MyReceiver.Parity = Parity.Even
  6975.  
  6976.  ' Now that the receiver is configured, begin GPS communications
  6977.  MyReceiver.Start()
  6978.  </code>
  6979.         <code lang="C#">
  6980.  // Configure a receiver for COM3 at 9600 baud
  6981.  Receiver MyReceiver = new Receiver();
  6982.  MyReceiver.ComPort = ComPort.Com3;
  6983.  MyReceiver.BaudRate = BaudRate.Baud9600;
  6984.  MyReceiver.Parity = Parity.Even;
  6985.  
  6986.  // Now that the receiver is configured, begin GPS communications
  6987.  MyReceiver.Start()
  6988.  </code>
  6989.     </example>
  6990.     <seealso cref="T:StormSource.Gps.DataBit">DataBit Enumeration</seealso>
  6991.     <seealso cref="P:StormSource.Gps.Receiver.DataBits">DataBits Property (Receiver Class)</seealso>
  6992.     <seealso cref="P:StormSource.Gps.Device.ComPort">ComPort Property</seealso>
  6993.     <seealso cref="P:StormSource.Gps.Device.BaudRate">BaudRate Property</seealso>
  6994.     <seealso cref="P:StormSource.Gps.Device.StopBits">StopBits Property</seealso>
  6995.     <seealso cref="P:StormSource.Gps.Device.Parity">Parity Property</seealso>
  6996. </member><member name="P:StormSource.Gps.Device.Protocol">
  6997.     <summary>
  6998.  Returns the GPS data protocol currently in use.
  6999.  </summary>
  7000.     <value>A value from the <see cref="P:StormSource.Gps.Device.Protocol">Protocol</see> enumeration.</value>
  7001.     <remarks><para> GPS.NET data processing engine is able to detect and process multiple
  7002.  data protocols, such as NMEA-0183, Garmin┬« text, and Garmin┬« binary protocol, even
  7003.  if the protocol is changed on-the-fly.  As a new protocol is detected, this property
  7004.  is changed.  When this property changes, the <see cref="E:StormSource.Gps.Device.ProtocolChanged(System.Object,StormSource.Gps.DeviceEventArgs)">ProtocolChanged</see>
  7005.  event is raised.</para>
  7006.         <para><img src="BestPractice.jpg"/></para><para><strong>Use the NMEA protocol
  7007.  whenever possible for updates regarding the current position.</strong></para>
  7008.         <para>While the Garmin┬« binary and text protocols are able to report the current
  7009.  location, important accuracy information is missing which may result in navigation
  7010.  errors. Use the NMEA protocol instead for the greatest control over positional
  7011.  accuracy.</para>
  7012.     </remarks>
  7013.     <example>
  7014.  This example tests to see if NMEA data is currently being processed by GPS.NET.
  7015.  <code lang="VB">
  7016.  Dim MyReceiver As New Receiver()
  7017.  ' Is NMEA data currently being processed?
  7018.  If MyReceiver.Device.Protocol = Protocol.Nmea Then
  7019.      ' Yes.
  7020.  End If
  7021.  </code>
  7022.         <code lang="C#">
  7023.  Receiver MyReceiver = new Receiver();
  7024.  // Is NMEA data currently being processed?
  7025.  if (MyReceiver.Device.Protocol == Protocol.Nmea)
  7026.  {
  7027.      // Yes.
  7028.  }
  7029.  </code>
  7030.     </example>
  7031. </member><member name="P:StormSource.Gps.Device.Receiver">
  7032.     <summary>
  7033.  Returns the instance of the Receiver class owning this instance.
  7034.  </summary>
  7035.     <value>A <see cref="P:StormSource.Gps.Device.Receiver">Receiver</see> object.</value>
  7036.     <remarks>This property is provided to allow developers the ability to find the
  7037.  instance of the Receiver class associated with a device.  This is primarily used when
  7038.  there are multiple instances of the Receiver class in existance, such as when 
  7039.  transferring <see cref="T:StormSource.Gps.Waypoint">waypoint</see> information from one device to another.</remarks>
  7040.     <seealso cref="T:StormSource.Gps.Receiver">Receiver Class</seealso>
  7041. </member><member name="M:StormSource.Gps.Device.Send(System.String)">
  7042.     <summary>Sends a command to the device in the form of a String.</summary>
  7043.     <remarks>
  7044.  This method is typically used by advanced GPS developers who wish to issue a
  7045.  specialized command to the device, such as to tell the device to transmit NMEA data.
  7046.  With time, GPS.NET will be expanded to reduce the need for this method.
  7047.  </remarks>
  7048.     <param name="buffer">A command in text form, such as an NMEA command.</param>
  7049. </member><member name="M:StormSource.Gps.Device.Send(System.Byte[])">
  7050.     <overloads>Sends a command or arbitrary information to the device.</overloads>
  7051.     <summary>Sends data to the GPS device in the form of a byte array.</summary>
  7052.     <remarks>
  7053.  Typically used by advanced developers, this method is used to send packets of
  7054.  data using binary protocols such as Garmin┬« and SiRF┬«. As GPS.NET is expanded, the need
  7055.  for this method will decrease.
  7056.  </remarks>
  7057.     <param name="buffer">An array of bytes containing a command.</param>
  7058. </member><member name="P:StormSource.Gps.Device.SupportsWaypointSymbol">
  7059.     <summary>
  7060.  Garmin┬« devices only. Identifies if the device can display a graphic icon for
  7061.  each waypoint.
  7062.  </summary>
  7063. </member><member name="P:StormSource.Gps.Device.SupportsWaypointColor">
  7064.     <summary>
  7065.  Garmin┬« devices only. Identifies if the device can store waypoints in different
  7066.  colors.
  7067.  </summary>
  7068. </member><member name="P:StormSource.Gps.Device.SupportsWaypointComment">
  7069.     <summary>
  7070.  Garmin┬« devices only. Identifies if the device can store comments for each
  7071.  waypoint.
  7072.  </summary>
  7073. </member><member name="P:StormSource.Gps.Device.SupportsWaypointClass">
  7074.     <summary>
  7075.  Garmin┬« devices only. Identifies if the device can store categorization
  7076.  information in waypoints.
  7077.  </summary>
  7078. </member><member name="P:StormSource.Gps.Device.SupportsWaypointSubClass">
  7079.     <summary>
  7080.  Garmin┬« devices only. Identifies if the device can store sub-category information
  7081.  in waypoints.
  7082.  </summary>
  7083. </member><member name="P:StormSource.Gps.Device.SupportsWaypointAltitude">
  7084.     <summary>
  7085.  Garmin┬« devices only. Identifies if the device can store altitude information in
  7086.  waypoints.
  7087.  </summary>
  7088. </member><member name="P:StormSource.Gps.Device.SupportsWaypointDepth">
  7089.     <summary>
  7090.  Garmin┬« devices only. Identifies if the device can store depth below water in
  7091.  waypoints.
  7092.  </summary>
  7093. </member><member name="P:StormSource.Gps.Device.SupportsWaypointAddress">
  7094.     <summary>
  7095.  Garmin┬« devices only. Identifies if the device can store address information in
  7096.  waypoints.
  7097.  </summary>
  7098. </member><member name="P:StormSource.Gps.Device.SupportsWaypointCity">
  7099.     <summary>
  7100.  Garmin┬« devices only. Identifies if the device can store city information in
  7101.  waypoints.
  7102.  </summary>
  7103. </member><member name="P:StormSource.Gps.Device.SupportsWaypointState">
  7104.     <summary>
  7105.  Garmin┬« devices only. Identifies if the device can store state/province
  7106.  information in waypoints.
  7107.  </summary>
  7108. </member><member name="P:StormSource.Gps.Device.SupportsWaypointCountry">
  7109.     <summary>
  7110.  Garmin┬« devices only. Identifies if the device can store country information in
  7111.  waypoints.
  7112.  </summary>
  7113. </member><member name="P:StormSource.Gps.Device.SupportsWaypointFacility">
  7114.     <summary>
  7115.  Garmin┬« devices only. Identifies if the device can store names of buildings in
  7116.  waypoints.
  7117.  </summary>
  7118. </member><member name="P:StormSource.Gps.Device.SupportsWaypointIntersectingRoad">
  7119.     <summary>
  7120.  Garmin┬« devices only. Identifies if the device can store the name of a road
  7121.  intersection in waypoints.
  7122.  </summary>
  7123. </member><member name="P:StormSource.Gps.Device.SupportsWaypointDisplayMode">
  7124.     <summary>
  7125.  Garmin┬« devices only. Identifies if the device can display the waypoint in
  7126.  different ways on the device.
  7127.  </summary>
  7128. </member><member name="M:StormSource.Gps.Device.Dispose">
  7129.     <summary>Releases unmanaged resources used during serial port communications.</summary>
  7130.     <remarks>
  7131.  This method is called automatically by the Receiver class when it is disposed.
  7132.  There is no need to call this method manually.
  7133.  </remarks>
  7134. </member><member name="T:StormSource.Gps.Device">
  7135.     <summary>Represents information about a GPS device.</summary>
  7136.     <remarks>
  7137.         <para>This class is primarily used when working with Garmin┬« devices.  Garmin┬« devices
  7138.  have the avility to send information which identifies the device and its capabilities.
  7139.  Information such
  7140.  as the <see cref="P:StormSource.Gps.Device.Manufacturer">manufacturer</see>,
  7141.  <see cref="P:StormSource.Gps.Device.Name">product name</see>, and
  7142.  <see cref="P:StormSource.Gps.Device.SupportsWaypoints">support for waypoints</see> are all
  7143.  transmitted by the device and stored in this class.  Devices must be set to use the Garmin┬«
  7144.  binary protocol in order to access this information and call methods such as <see cref="M:StormSource.Gps.Device.PowerOff">PowerOff</see>.
  7145.  This class is used heavily by the <see cref="T:StormSource.Gps.Waypoint">Waypoint</see> class when downloading or
  7146.  uploading waypoint information because Garmin┬« devices send waypoint information in any of several
  7147.  data protocols.  Fortunately, the process of choosing a protocol is completely transparent to the developer.</para>
  7148.         <para>The NMEA-0183 protocol is the most common protocol used by devices.  This protocol does not
  7149.  support identification of devices and their capabilities, but some information such as the 
  7150.  <see cref="P:StormSource.Gps.Device.Manufacturer">manufacturer</see> can be determined.</para>
  7151.         <para><img src="Device.jpg"/></para>
  7152.     </remarks>
  7153.     <seealso cref="P:StormSource.Gps.Receiver.Device">Device Property (Receiver Class)</seealso>
  7154. </member><member name="F:StormSource.Gps.Latitude.Equator">
  7155.     <summary>Represents a latitude of 0┬░</summary>
  7156. </member><member name="F:StormSource.Gps.Latitude.TropicOfCapricorn">
  7157.     <summary>Represents a latitude of 23.5┬░S</summary>
  7158. </member><member name="F:StormSource.Gps.Latitude.TropicOfCancer">
  7159.     <summary>Represents a latitude of 23.5┬░N</summary>
  7160. </member><member name="F:StormSource.Gps.Latitude.NorthPole">
  7161.     <summary>Represents a latitude of 90┬░N</summary>
  7162. </member><member name="F:StormSource.Gps.Latitude.SouthPole">
  7163.     <summary>Represents a latitude of 90┬░S</summary>
  7164. </member><member name="F:StormSource.Gps.Latitude.Minimum">
  7165.     <summary>Represents the minimum possible latitude -90┬░</summary>
  7166. </member><member name="F:StormSource.Gps.Latitude.Maximum">
  7167.     <summary>Represents the maximum possible latitude of 90┬░</summary>
  7168. </member><member name="M:StormSource.Gps.Latitude.GetUtmZoneLetter(StormSource.Gps.Latitude)">
  7169.     <summary>Returns the UTM zone designator for the specified latitude.</summary>
  7170. </member><member name="P:StormSource.Gps.Latitude.UtmZoneLetter">
  7171.     <summary>Returns the UTM zone letter which corresponds to the current 
  7172.  instance.</summary>
  7173.     <remarks>
  7174.  This function is used by Universal Transverse Mercator (UTM) coordinates to
  7175.  describe a position, much like latitude and longitude. For more information about UTM
  7176.  coordinates, see the UtmPosition class.
  7177.  </remarks>
  7178.     <value>A value from the UtmZone enumeration.</value>
  7179.     <seealso cref="T:StormSource.Gps.UtmZone">UtmZone Enumeration</seealso>
  7180. </member><member name="M:StormSource.Gps.Latitude.Normalize(System.Double)">
  7181.     <overloads>Converts a measurement to its equivalent value between -90 and 
  7182.  90.</overloads>
  7183. </member><member name="M:StormSource.Gps.Latitude.#ctor">
  7184.     <summary>Creates a new instance with a default value of zero degrees north.</summary>
  7185.     <example>
  7186.  This example creates a new instance of the latitude class.
  7187.  <code lang="VB">
  7188.  Dim MyLatitude As New Latitude()
  7189.  </code>
  7190.         <code lang="C#">
  7191.  Latitude MyLatitude = new Latitude();
  7192.  </code>
  7193.     </example>
  7194. </member><member name="M:StormSource.Gps.Latitude.#ctor(System.Double)">
  7195.     <summary>
  7196.  Creates a new instance with the specified decimal degree value.
  7197.  </summary>
  7198.     <param name="decimalDegrees">A <strong>Double</strong> value to store in the <strong>DecimalDegrees</strong> property.</param>
  7199.     <example>
  7200.  This example creates a new latitude of 45 degrees south.
  7201.  <code lang="VB">
  7202.  Dim MyLatitude As New Latitude(-45)
  7203.  </code>
  7204.         <code lang="C#">
  7205.  Latitude MyLatitude = new Latitude(-45);
  7206.  </code>
  7207.     </example>
  7208. </member><member name="M:StormSource.Gps.Latitude.#ctor(System.Double,System.Boolean)">
  7209.     <summary>
  7210.  Creates a new, immutable instance with the specified decimal degrees.
  7211.  </summary>
  7212.     <param name="decimalDegrees">A <strong>Double</strong> value to store in the <strong>DecimalDegrees</strong> property.</param>
  7213.     <param name="isImmutable">A <strong>Boolean</strong>, True if the object is to be read-only after it is instantiated.</param>
  7214.     <example>
  7215.  This example creates a new, read-only latitude of 40 degrees north.
  7216.  <code lang="VB">
  7217.  Dim MyLatitude As New Latitude(40)
  7218.  </code>
  7219.         <code lang="C#">
  7220.  Latitude MyLatitude = new Latitude(40);
  7221.  </code>
  7222.     </example>
  7223. </member><member name="M:StormSource.Gps.Latitude.#ctor(StormSource.Gps.Angle)">
  7224.     <summary>
  7225.  Creates a new instance by upgrading the specified <strong>Angle</strong> object.
  7226.  </summary>
  7227.     <param name="angle">An <strong>Angle</strong> object to upgrade.</param>
  7228.     <example>
  7229.  This example creates a new, read-only latitude of 40 degrees north.
  7230.  <code lang="VB">
  7231.  Dim MyAngle As New Angle(40)
  7232.  Dim MyLatitude As New Latitude(MyAngle)
  7233.  </code>
  7234.         <code lang="C#">
  7235.  Angle MyAngle = new Angle(40);
  7236.  Latitude MyLatitude = new Latitude(MyAngle);
  7237.  </code>
  7238.     </example>
  7239. </member><member name="M:StormSource.Gps.Latitude.#ctor(System.Double,StormSource.Gps.LatitudeHemisphere)">
  7240.     <summary>Creates a new instance using the specified decimal degrees and 
  7241.  hemisphere.</summary>
  7242.     <param name="decimalDegrees">
  7243.  A <strong>Double</strong> specifying a value for the
  7244.  <strong>DecimalDegrees</strong> property.
  7245.  </param>
  7246.     <param name="hemisphere">A value from the <strong>LongitudeHemisphere</strong> 
  7247.  enumeration.</param>
  7248.     <remarks>
  7249.         <para>This constructor is typically used to create a latitude when decimal degrees
  7250.      are always expressed as a positive number. Since the Hemisphere property is set
  7251.      <em>after</em> the DecimalDegrees property is set, the DecimalDegrees is adjusted
  7252.      automatically to be positive for the northern hemisphere and negative for the
  7253.      southern hemisphere.</para>
  7254.         <para>If the parameters conflict with each other, the <strong>Hemisphere</strong>
  7255.      parameter takes precedence. Therefore, a value of "-19┬░N" will become "19┬░N"
  7256.      (without the negative sign) with no exception being thrown.</para>
  7257.     </remarks>
  7258.     <example>
  7259.  This example creates a new latitude of 39 degrees south.
  7260.  <code lang="VB">
  7261.  Dim MyLatitude As New Latitude(39, LatitudeHemisphere.South)
  7262.  </code>
  7263.         <code lang="C#">
  7264.  Latitude MyLatitude = new Latitude(39, LatitudeHemisphere.South);
  7265.  </code>
  7266.     </example>
  7267. </member><member name="M:StormSource.Gps.Latitude.#ctor(System.Int32,System.Int32,System.Double)">
  7268.     <summary>Creates a new instance with the specified hours, minutes and 
  7269.  seconds.</summary>
  7270.     <param name="hours">An <strong>Integer</strong> specifying the number of hours.</param>
  7271.     <param name="minutes">An <strong>Integer</strong> specifying the number of minutes.</param>
  7272.     <param name="seconds">An <strong>Double</strong> specifying the number of seconds.</param>
  7273.     <example>
  7274.  This example creates a new latitude of 39┬░12'10" north.
  7275.  <code lang="VB">
  7276.  Dim MyLatitude As New Latitude(39, 12, 10)
  7277.  </code>
  7278.         <code lang="C#">
  7279.  Latitude MyLatitude = new Latitude(39, 12, 10);
  7280.  </code>
  7281.  This example creates a new latitude of 39┬░12'10" south.
  7282.  <code lang="VB">
  7283.  Dim MyLatitude As New Latitude(-39, 12, 10)
  7284.  </code>
  7285.         <code lang="C#">
  7286.  Latitude MyLatitude = new Latitude(-39, 12, 10);
  7287.  </code>
  7288.     </example>
  7289. </member><member name="M:StormSource.Gps.Latitude.#ctor(System.Int32,System.Int32,System.Double,StormSource.Gps.LatitudeHemisphere)">
  7290.     <summary>
  7291.  Creates a new longitude with the specified hours, minutes, seconds, and hemisphere.
  7292.  </summary>
  7293.     <param name="hours">An <strong>Integer</strong> specifying the number of hours.</param>
  7294.     <param name="minutes">An <strong>Integer</strong> specifying the number of minutes.</param>
  7295.     <param name="seconds">An <strong>Double</strong> specifying the number of seconds.</param>
  7296.     <param name="hemisphere">A value from the <strong>LatitudeHemisphere</strong> enumeration.</param>
  7297.     <example>
  7298.  This example creates a new latitude of 39┬░12'10" north.
  7299.  <code lang="VB">
  7300.  Dim MyLatitude As New Latitude(39, 12, 10, LatitudeHemisphere.North)
  7301.  </code>
  7302.         <code lang="C#">
  7303.  Latitude MyLatitude = new Latitude(39, 12, 10, LatitudeHemisphere.North);
  7304.  </code>
  7305.  This example creates a new latitude of 39┬░12'10" south.
  7306.  <code lang="VB">
  7307.  Dim MyLatitude As New Latitude(39, 12, 10, LatitudeHemisphere.South)
  7308.  </code>
  7309.         <code lang="C#">
  7310.  Latitude MyLatitude = new Latitude(39, 12, 10, LatitudeHemisphere.South);
  7311.  </code>
  7312.     </example>
  7313. </member><member name="M:StormSource.Gps.Latitude.#ctor(System.Int32,System.Double)">
  7314.     <summary>
  7315.  Creates a new instance with the specified hours and decimal minutes (minutes combined with seconds).
  7316.  </summary>
  7317.     <param name="hours">An <strong>Integer</strong> specifying the number of hours.</param>
  7318.     <param name="minutes">An <strong>Double</strong> specifying the number of decimal minutes.</param>
  7319.     <example>
  7320.  This example creates a new latitude of 39┬░12.34' north.
  7321.  <code lang="VB">
  7322.  Dim MyLatitude As New Latitude(39, 12.34)
  7323.  </code>
  7324.         <code lang="C#">
  7325.  Latitude MyLatitude = new Latitude(39, 12.34);
  7326.  </code>
  7327.  This example creates a new latitude of 39┬░12.34 south.
  7328.  <code lang="VB">
  7329.  Dim MyLatitude As New Latitude(-39, 12.34)
  7330.  </code>
  7331.         <code lang="C#">
  7332.  Latitude MyLatitude = new Latitude(-39, 12.34);
  7333.  </code>
  7334.     </example>
  7335. </member><member name="M:StormSource.Gps.Latitude.#ctor(System.Int32,System.Double,StormSource.Gps.LatitudeHemisphere)">
  7336.     <summary>
  7337.  Creates a new instance with the specified hours, decimal minutes, and hemisphere.
  7338.  </summary>
  7339.     <param name="hours">An <strong>Integer</strong> specifying the number of hours.</param>
  7340.     <param name="minutes">An <strong>Integer</strong> specifying the number of minutes.</param>
  7341.     <param name="hemisphere">A value from the <strong>LatitudeHemisphere</strong> enumeration.</param>
  7342.     <example>
  7343.  This example creates a new latitude of 39┬░12.34' north.
  7344.  <code lang="VB">
  7345.  Dim MyLatitude As New Latitude(39, 12.34, LatitudeHemisphere.North)
  7346.  </code>
  7347.         <code lang="C#">
  7348.  Latitude MyLatitude = new Latitude(39, 12.34, LatitudeHemisphere.North);
  7349.  </code>
  7350.  This example creates a new latitude of 39┬░12.34 south.
  7351.  <code lang="VB">
  7352.  Dim MyLatitude As New Latitude(39, 12.34, LatitudeHemisphere.South)
  7353.  </code>
  7354.         <code lang="C#">
  7355.  Latitude MyLatitude = new Latitude(39, 12.34, LatitudeHemisphere.South);
  7356.  </code>
  7357.     </example>
  7358. </member><member name="M:StormSource.Gps.Latitude.#ctor(System.String)">
  7359.     <summary>
  7360.  Creates a new instance by parsing the specified string value.
  7361.  </summary>
  7362.     <param name="value">
  7363.         <para>A <strong>String</strong> in any of the following formats (or variation
  7364.  depending on the local culture):</para>
  7365.         <para>
  7366.             <table cellspacing="0" cols="4" cellpadding="2" width="100%">
  7367.                 <tbody>
  7368.                     <tr>
  7369.                         <td>hh</td>
  7370.                         <td>hh.h</td>
  7371.                         <td>hh mm</td>
  7372.                         <td>hh mm.mm</td>
  7373.                     </tr>
  7374.                     <tr>
  7375.                         <td>hh mm ss</td>
  7376.                         <td>hh mm ss.sss</td>
  7377.                         <td></td>
  7378.                         <td></td>
  7379.                     </tr>
  7380.                     <tr>
  7381.                         <td>hh i</td>
  7382.                         <td>hh.h i</td>
  7383.                         <td>hh mm i</td>
  7384.                         <td>hh mm.mm i</td>
  7385.                     </tr>
  7386.                     <tr>
  7387.                         <td>hh mm ss i</td>
  7388.                         <td>hh mm ss.sss i</td>
  7389.                         <td></td>
  7390.                         <td></td>
  7391.                     </tr>
  7392.                 </tbody>
  7393.             </table>
  7394.  
  7395.  Where <strong>I</strong> represents a case-insensitive hemisphere indicator "N" or "S".
  7396.      </para>
  7397.         <para>Any non-numeric character between numbers is considered a delimiter. Thus, a
  7398.      value of <strong>12┬░34'56.78"N</strong> or even <strong>12A34B56.78CN</strong> is
  7399.      treated the same as <strong>12 34 56.78 N</strong>.</para>
  7400.     </param>
  7401.     <seealso cref="M:StormSource.Gps.Latitude.Parse(System.String)">Parse</seealso>
  7402. </member><member name="P:StormSource.Gps.Latitude.CurrentLatitude">
  7403.     <summary>Returns the latitude of the current location.</summary>
  7404. </member><member name="M:StormSource.Gps.Latitude.Equals(StormSource.Gps.Latitude)">
  7405.     <overloads>Compares equivalence between the current instance to</overloads>
  7406. </member><member name="P:StormSource.Gps.Latitude.DecimalDegrees">
  7407.     <summary>Returns hours, minutes and seconds as a single decimal value.</summary>
  7408. </member><member name="P:StormSource.Gps.Latitude.Hours">
  7409.     <summary>Returns the hours portion of a latitude measurement.</summary>
  7410. </member><member name="P:StormSource.Gps.Latitude.IsImmutable">
  7411.     <summary>Indicates if the current instance is read-only.</summary>
  7412.     <returns>An object is considered immutable if it's value(s) cannot be changed.  This is set to True for any shared fields in this class.</returns>
  7413.     <remarks>
  7414.  An object is considered "immutable" if it's properties cannot be modified in any
  7415.  way. 
  7416.  </remarks>
  7417. </member><member name="M:StormSource.Gps.Latitude.Clone">
  7418.     <summary>Creates a mutable copy of the current instance.</summary>
  7419.     <remarks>
  7420.  The cloned object shares the same value for the
  7421.  <see cref="P:StormSource.Gps.Latitude.DecimalDegrees">DecimalDegrees</see> property.
  7422.  The <see cref="P:StormSource.Gps.Latitude.IsImmutable">immutable</see> setting is
  7423.  not copied, thus allowing this method to make a writable (mutable) copy of a read-only
  7424.  shared field.
  7425.  </remarks>
  7426.     <returns>A <strong>Latitude</strong> equivalent to the current instance.</returns>
  7427. </member><member name="M:StormSource.Gps.Latitude.Parse(System.String)">
  7428.     <summary>
  7429.  Converts a string-based latitude measurement into a <strong>Latitude</strong>
  7430.  object.
  7431.  </summary>
  7432.     <returns>
  7433.     A new <strong>Latitude</strong> object populated with the specified values.
  7434.     </returns>
  7435.     <remarks>
  7436.         <para>This powerful method is typically used to process data from a data store or a
  7437.  value input by the user. This function can accept any format which can be output by
  7438.  the <see cref="M:StormSource.Gps.Latitude.ToString">ToString</see> method.</para>
  7439.     </remarks>
  7440.     <exception cref="T:System.ArgumentNullException" caption="ArgumentNullException">The Parse method requires a decimal 
  7441.         or sexagesimal measurement.</exception>
  7442.     <exception cref="T:System.FormatException" caption="FormatException">1. Only the right-most portion of a sexagesimal measurement can be a fractional value.<br/>
  7443.  2. Extra characters were encountered while parsing an angular measurement.  Only hours, minutes, and seconds are allowed.<br/>
  7444.  3. The specified text was not fully understood as an angular measurement.</exception>
  7445.     <param name="value">
  7446.         <para>A <strong>String</strong> in any of the following formats (or variation
  7447.  depending on the local culture):</para>
  7448.         <para>
  7449.             <table cellspacing="0" cols="4" cellpadding="2" width="100%">
  7450.                 <tbody>
  7451.                     <tr>
  7452.                         <td>hh</td>
  7453.                         <td>hh.h</td>
  7454.                         <td>hh mm</td>
  7455.                         <td>hh mm.mm</td>
  7456.                     </tr>
  7457.                     <tr>
  7458.                         <td>hh mm ss</td>
  7459.                         <td>hh mm ss.sss</td>
  7460.                         <td></td>
  7461.                         <td></td>
  7462.                     </tr>
  7463.                     <tr>
  7464.                         <td>hh i</td>
  7465.                         <td>hh.h i</td>
  7466.                         <td>hh mm i</td>
  7467.                         <td>hh mm.mm i</td>
  7468.                     </tr>
  7469.                     <tr>
  7470.                         <td>hh mm ss i</td>
  7471.                         <td>hh mm ss.sss i</td>
  7472.                         <td></td>
  7473.                         <td></td>
  7474.                     </tr>
  7475.                 </tbody>
  7476.             </table>
  7477.  
  7478.  Where <strong>I</strong> represents a case-insensitive hemisphere indicator "N" or "S".
  7479.      </para>
  7480.         <para>Any non-numeric character between numbers is considered a delimiter. Thus, a
  7481.      value of <strong>12┬░34'56.78"N</strong> or even <strong>12A34B56.78CN</strong> is
  7482.      treated the same as <strong>12 34 56.78 N</strong>.</para>
  7483.     </param>
  7484.     <seealso cref="M:StormSource.Gps.Latitude.ToString">ToString Method</seealso>
  7485.     <example>
  7486.  This example creates a new latitude measurement of 23.45S using the Parse method.
  7487.  <code lang="VB">
  7488.  Dim NewLatitude As Latitude = Latitude.Parse("23.45┬░S")
  7489.  </code>
  7490.         <code lang="C#">
  7491.  Latitude NewLatitude = Latitude.Parse("23.45┬░S");
  7492.  </code>
  7493.     </example>
  7494. </member><member name="P:StormSource.Gps.Latitude.Hemisphere">
  7495.     <summary>Indicates if the latitude is north or south of the equator.</summary>
  7496. </member><member name="M:StormSource.Gps.Latitude.ToString">
  7497.     <summary>Outputs the current instance in the form of a string.</summary>
  7498. </member><member name="M:StormSource.Gps.Latitude.ToString(System.String)">
  7499.     <overloads>Outputs the current instance as a formatted string.</overloads>
  7500. </member><member name="M:StormSource.Gps.Latitude.ToString(System.String,System.IFormatProvider)">
  7501.     <summary>
  7502.  Outputs the current instance as a string using the specified format and
  7503.  culture.
  7504.  </summary>
  7505. </member><member name="M:StormSource.Gps.Latitude.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  7506.     <summary>Populates the current instance from serialized data.</summary>
  7507. </member><member name="T:StormSource.Gps.Latitude">
  7508.     <summary>
  7509.  Represents a line of constant distance north or south from the equator.
  7510.  </summary>
  7511.     <remarks>
  7512.         <para>Latitude measurements are paired with
  7513.      <see cref="T:StormSource.Gps.Longitude">longitude</see>
  7514.      measurements to specify a specific
  7515.      <see cref="T:StormSource.Gps.Position">position</see>
  7516.      on Earth's surface. Latitudes can range from -90┬░ (the south pole) to 90┬░ (the
  7517.      north pole), with 0┬░ at the equator.</para>
  7518.         <para>If a latitude is south of the equator, it is considered to be in the southern
  7519.      hemisphere and can also be expressed as a positive number with a one-letter
  7520.      indicator of "S" (South) or "N" (North). For example, a latitude of "-45┬░" can also
  7521.      be expressed as "45┬░S". A latitude north of the equator is always positive (i.e.
  7522.      "45┬░N").</para>
  7523.         <para>This diagram shows lines of latitude on the Earth's surface:</para>
  7524.         <para><img src="Latitude.jpg"/></para>
  7525.     </remarks>
  7526.     <seealso cref="T:StormSource.Gps.Longitude">Longitude Class</seealso>
  7527.     <seealso cref="T:StormSource.Gps.Position">Position Class</seealso>
  7528. </member><member name="P:StormSource.Gps.PositionCollection.First">
  7529.     <summary>Returns the first item in the collection, if one exists.</summary>
  7530.     <remarks>
  7531.  This property is typically used to access the first item in the collection during
  7532.  a calculation which involves the whole collection.
  7533.  </remarks>
  7534.     <value>
  7535.  The first <strong>Position</strong> in the collection or <strong>null</strong>
  7536.  (<strong>Nothing</strong> in Visual Basic) if the collection is empty.
  7537.  </value>
  7538. </member><member name="P:StormSource.Gps.PositionCollection.Last">
  7539.     <summary>Returns the last item in the collection, if it exists.</summary>
  7540. </member><member name="M:StormSource.Gps.PositionCollection.Add(StormSource.Gps.Position)">
  7541.     <summary>Adds a Position to the end of the collection.</summary>
  7542.     <remarks>
  7543.         <para>This method is used to add a single Position object to the collection.</para>
  7544.         <para><img src="BestPractice.jpg"/></para><para><strong>Always use
  7545.      Position.Clone() to add the current position to a PositionCollection.</strong></para>
  7546.         <para>The GPS.NET framework is designed to reuse the same instance of a Position
  7547.      object to store the current position and allow developers to bind to events. For
  7548.      this reason, "PositionCollection.Add(Receiver.Position)" is incorrect syntax
  7549.      because it's adding the same instance repeatedly. Instead, use
  7550.      "PositionCollection.Add(Receiver.Position.Clone)" to add the current position as a
  7551.      separate instance each time it's added to the collection.</para>
  7552.     </remarks>
  7553.     <param name="value">A <strong>Position</strong> object to add to the 
  7554.  collection.</param>
  7555. </member><member name="M:StormSource.Gps.PositionCollection.AddRange(System.Collections.ICollection)">
  7556.     <summary>Adds a collection of Position objects to the current collection.</summary>
  7557.     <remarks>
  7558.         <para>This method is typically used to combine a separate collection of Position
  7559.      objects into the collection.</para>
  7560.         <para><img src="BestPractice.jpg"/></para><para><strong>Always use
  7561.      Position.Clone() to add the current position to a PositionCollection.</strong></para>
  7562.         <para>The GPS.NET framework is designed to reuse the same instance of a Position
  7563.      object to store the current position and allow developers to bind to events. For
  7564.      this reason, "PositionCollection.Add(Receiver.Position)" is incorrect syntax
  7565.      because it's adding the same instance repeatedly. Instead, use
  7566.      "PositionCollection.Add(Receiver.Position.Clone)" to add the current position as a
  7567.      separate instance each time it's added to the collection.</para>
  7568.     </remarks>
  7569.     <param name="c">A collection of <strong>Position</strong> objects to add.</param>
  7570. </member><member name="P:StormSource.Gps.PositionCollection.Item(System.Int32)">
  7571.     <summary>Returns a Position object a the specified index.</summary>
  7572. </member><member name="P:StormSource.Gps.PositionCollection.Items">
  7573.     <summary>Returns an enumerable list of all Positions in the collection.</summary>
  7574. </member><member name="M:StormSource.Gps.PositionCollection.Remove(StormSource.Gps.Position)">
  7575.     <summary>
  7576.  Removes a particular instance of a <strong>Position</strong> object from the
  7577.  collection.
  7578.  </summary>
  7579. </member><member name="M:StormSource.Gps.PositionCollection.RemoveAt(System.Int32)">
  7580.     <summary>
  7581.  Removes an item from the collection which is located at the specified
  7582.  index.
  7583.  </summary>
  7584.     <param name="index">
  7585.  A zero-based <strong>Integer</strong> indicating the position of the item to
  7586.  remove.
  7587.  </param>
  7588. </member><member name="M:StormSource.Gps.PositionCollection.RemoveRange(System.Int32,System.Int32)">
  7589.     <summary>
  7590.  Removes a series of objects from the collection starting at the specified
  7591.  index.
  7592.  </summary>
  7593. </member><member name="M:StormSource.Gps.PositionCollection.Sort">
  7594.     <summary>Sorts the contents of the collection.</summary>
  7595. </member><member name="M:StormSource.Gps.PositionCollection.Sort(System.Collections.IComparer)">
  7596.     <summary>Sorts the collection using the specified custom comparison method.</summary>
  7597.     <param name="comparer">
  7598.  An <strong>IComparer</strong> object which specifies how one
  7599.  <strong>Position</strong> ranks compared to another <strong>Position</strong>.
  7600.  </param>
  7601. </member><member name="M:StormSource.Gps.PositionCollection.Sort(System.Int32,System.Int32,System.Collections.IComparer)">
  7602.     <summary>
  7603.  Sorts a subset of the collection using the specified custom comparison
  7604.  method.
  7605.  </summary>
  7606.     <param name="index">
  7607.  An <strong>Integer</strong> indicating the location from which to start
  7608.  sorting.
  7609.  </param>
  7610.     <param name="count">
  7611.  An <strong>Integer</strong> specifying the number of items to include in the
  7612.  sort.
  7613.  </param>
  7614.     <param name="comparer">
  7615.  An <strong>IComparer</strong> object which specifies how one
  7616.  <strong>Position</strong> ranks compared to another <strong>Position</strong>.
  7617.  </param>
  7618. </member><member name="M:StormSource.Gps.PositionCollection.Translate(StormSource.Gps.Azimuth,StormSource.Gps.Distance)">
  7619.     <summary>Shifts the entire collection by the specified bearing and distance.</summary>
  7620.     <remarks>
  7621.  This method is typically used to make adjustments to an entire collection of
  7622.  positions at one time. For example, if each position is located 10 kilometers too far
  7623.  to the north, this method can correct the problem by translating each item 10
  7624.  kilometers to the south.
  7625.  </remarks>
  7626.     <param name="bearing">
  7627.  An <strong>Azimuth</strong> indicating the direction in which to shift all
  7628.  positions.
  7629.  </param>
  7630.     <param name="distance">A <strong>Distance</strong> indicating the amount of shift 
  7631.  applied.</param>
  7632. </member><member name="M:StormSource.Gps.PositionCollection.MinimumTime(StormSource.Gps.Speed)">
  7633.     <summary>
  7634.  Returns the minimum time required to travel through each point in the collection
  7635.  at the given speed.
  7636.  </summary>
  7637.     <returns>A <strong>TimeSpan</strong> containing the length of time required.</returns>
  7638.     <remarks>
  7639.         <para>This method is typically used to see if an entire route can be travelled in
  7640.      time at the current speed. The MinimumSpeed method can be used to calculate what
  7641.      minimum speed is required to reach a destination within a set period of
  7642.      time.</para>
  7643.         <para><img src="BestPractice.jpg"/></para><para><strong>Avoid suggesting that the
  7644.      user increase or decrease speed.</strong></para>
  7645.         <para>The MinimumTime method might yield a result which suggests that the user can
  7646.      make a destination on time by increasing (or decreasing) their current speed. Avoid
  7647.      making recommendations which might cause the user to disobey a maximum (or minimum)
  7648.      speed limit.</para>
  7649.     </remarks>
  7650.     <param name="speed">
  7651.  A <strong>Speed</strong> indicating how fast to travel through all points in the
  7652.  collection.
  7653.  </param>
  7654. </member><member name="M:StormSource.Gps.PositionCollection.MinimumSpeed(System.TimeSpan)">
  7655.     <summary>
  7656.  Returns the minimum speed required to travel through each point in the collection
  7657.  within the given time.
  7658.  </summary>
  7659.     <remarks>
  7660.         <para>This method is typically used to see if an entire route can be travelled at
  7661.      the current speed within the specified length of time. An application could also
  7662.      use this method to calculate how early (or late) arrival time would be if
  7663.      modifications to the speed were made.</para>
  7664.         <para><img src="BestPractice.jpg"/></para><para><strong>Avoid suggesting that the
  7665.      user increase or decrease speed.</strong></para>
  7666.         <para>The MinimumSpeed method does not take into account any local traffic laws. As
  7667.      a result, it might return a result of 90MPH for a route that goes through
  7668.      neighborhoods. Recommendations to slow down should also be avoided for roads that
  7669.      require a minimum speed, such as an interstate highway.</para>
  7670.     </remarks>
  7671. </member><member name="P:StormSource.Gps.PositionCollection.TotalDistance">
  7672.     <summary>Returns the total distance to travel through all points.</summary>
  7673. </member><member name="T:StormSource.Gps.PositionCollection">
  7674.     <summary>Represents an arbitrary collection of locations on the Earth's 
  7675.  surface.</summary>
  7676.     <remarks>
  7677.         <para>This collection provides methods which work with a connected group of
  7678.      locations, such as
  7679.      <see cref="P:StormSource.Gps.PositionCollection.TotalDistance">total
  7680.      travel distance</see>,
  7681.      <see cref="M:StormSource.Gps.PositionCollection.MinimumTime(StormSource.Gps.Speed)">total travel
  7682.      time</see>, and
  7683.      <see cref="M:StormSource.Gps.PositionCollection.MinimumSpeed(System.TimeSpan)">minimum
  7684.      travel speed</see>. This collection is the base class for Garmin┬« position
  7685.      collections such as <see cref="T:StormSource.Gps.WaypointCollection">waypoints</see>. This class is recommended as a base
  7686.      class for custom functions which work with groups of positions.</para>
  7687.     </remarks>
  7688. </member><member name="E:StormSource.Gps.Receiver.Acquiring(System.Object,System.EventArgs)">
  7689.     <summary>Occurs when the receiver has begun listening for GPS data.</summary>
  7690.     <remarks>
  7691.  This event is raised once after a connection was successfully made to a GPS
  7692.  device. It is typically used by applications to perform their own initialization before
  7693.  GPS data is actually processed.
  7694.  </remarks>
  7695. </member><member name="E:StormSource.Gps.Receiver.AltitudeChanged(System.Object,StormSource.Gps.DistanceEventArgs)">
  7696.     <summary>Occurs when the distance above sea level has changed.</summary>
  7697.     <remarks>
  7698.         <para>If the GPS device has not yet achieved a fix, this property will return zero.
  7699.      The altitude can be obtained when there are at least four
  7700.      <see cref="P:StormSource.Gps.SatelliteCollection.FixedCount">fixed satellites</see> available. The
  7701.      accuracy of this measurements is dependent upon the
  7702.      <see cref="P:StormSource.Gps.Receiver.VerticalDilutionOfPrecision">vertical dilution of precision</see> (or
  7703.      VDOP). Which this property changes, the
  7704.      
  7705.  <see cref="E:StormSource.Gps.Receiver.AltitudeChanged(System.Object,StormSource.Gps.DistanceEventArgs)">
  7706.      AltitudeChanged</see> event is raised. This property is updated automatically when
  7707.      new information is received from the GPS device. </para>
  7708.     </remarks>
  7709. </member><member name="E:StormSource.Gps.Receiver.BaudRateChanged(System.Object,System.EventArgs)">
  7710.     <summary>Occurs when the speed of communications has been modified.</summary>
  7711. </member><member name="E:StormSource.Gps.Receiver.BatteryLifeChanged(System.Object,StormSource.Gps.TimeSpanEventArgs)">
  7712.     <summary>
  7713.  Magellan devices only. Occurs when the remaining battery life has
  7714.  decreased.
  7715.  </summary>
  7716.     <remarks>
  7717.  Magellan devices report the number of minutes and seconds of battery life
  7718.  remaining. While this event supports a limited set of devices, it can be very helpful
  7719.  to handle for the purposes of warning the user when there are only a few minutes of
  7720.  battery life left.
  7721.  </remarks>
  7722. </member><member name="E:StormSource.Gps.Receiver.BearingChanged(System.Object,StormSource.Gps.AzimuthEventArgs)">
  7723.     <summary>Occurs when the current direction of travel has changed.</summary>
  7724.     <remarks>
  7725.         <para>This event is one of the cornerstones of the GPS.NET framework, along with
  7726.      the PositionChanged and SpeedChanged events. This event is Occurs when the Bearing
  7727.      property has changed.</para>
  7728.         <para><font color="green"><strong>Best practice:</strong> Some GPS devices can
  7729.      report the current bearing without satellite signals</font></para>
  7730.         <para>Some GPS devices contain internal compasses, and thus are able to report the
  7731.      current direction of travel even when no satellite signals are present. If your
  7732.      application makes use of the current bearing, be prepared to report it with or
  7733.      without a GPS fix present.</para>
  7734.     </remarks>
  7735. </member><member name="E:StormSource.Gps.Receiver.Connecting(System.Object,System.EventArgs)">
  7736.     <summary>Raised before a connection to a GPS device is attempted.</summary>
  7737.     <remarks>
  7738.  If a connection to the GPS device is successful, the
  7739.  <see cref="E:StormSource.Gps.Receiver.Connected(System.Object,System.EventArgs)">
  7740.  Connected</see> event is raised, followed by the
  7741.  <see cref="E:StormSource.Gps.Receiver.Acquiring(System.Object,System.EventArgs)">
  7742.  Acquiring</see> event. This event is typically used for "apparent speed" to signal the
  7743.  user that progress is being made establishing a connection.
  7744.  </remarks>
  7745.     <seealso cref="E:StormSource.Gps.Receiver.Connected(System.Object,System.EventArgs)">Connected Event</seealso>
  7746.     <seealso cref="E:StormSource.Gps.Receiver.Acquiring(System.Object,System.EventArgs)">Acquiring Event</seealso>
  7747. </member><member name="E:StormSource.Gps.Receiver.Connected(System.Object,System.EventArgs)">
  7748.     <summary>Occurs when a connection with a serial device has been established.</summary>
  7749.     <remarks>
  7750.         This event is raised following the
  7751.         <see cref="E:StormSource.Gps.Receiver.Connecting(System.Object,System.EventArgs)">
  7752.         Connecting</see> event when a successful connection has been made. One thing to take note
  7753.         of is that this event does not necessarily mean that a connection to a <em>GPS
  7754.         device</em> has been made. It is possible that this event could be raised upon a
  7755.         successful connection to a modem or other non-GPS serial device. To be certain that a
  7756.         GPS device has been connected to, capture the
  7757.         <see cref="E:StormSource.Gps.Receiver.SentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">
  7758.         SentenceReceived</see> event.
  7759.  </remarks>
  7760. </member><member name="E:StormSource.Gps.Receiver.DeviceIdentified(System.Object,StormSource.Gps.DeviceEventArgs)">
  7761.     <summary>
  7762.  Garmin devices only. Occurs when the device has become uniquely
  7763.  identified.
  7764.  </summary>
  7765.     <remarks>
  7766.  When a connection to a GPS device is established using the Garmin binary
  7767.  protocol, information which specifically identifies the model of the device is
  7768.  transmitted, along with information which identifies the device's capabilities. This
  7769.  event is Occurs when the specific model of the device becomes known.
  7770.  </remarks>
  7771.     <example>
  7772.      This example outputs the name of the GPS device as soon as it becomes known.
  7773.      <code lang="VB" title="DeviceIdentified event example (VB.NET)">
  7774.  ' Occurs when the device becomes uniquely identified
  7775.  Sub OnDeviceIdentified(ByVal sender As Object, ByVal e As DeviceEventArgs)
  7776.    ' Output the name of the device
  7777.    Debug.WriteLine(e.Device.Name)
  7778.  End Sub
  7779.      </code>
  7780.         <code lang="C#" title="DeviceIdentified event example (C#)">
  7781.  // Occurs when the device becomes uniquely identified
  7782.  void OnDeviceIdentified(Object sender, DeviceEventArgs e)
  7783.  {
  7784.    // Output the name of the device
  7785.    Debug.WriteLine(e.Device.Name);
  7786.  }
  7787.      </code>
  7788.     </example>
  7789. </member><member name="E:StormSource.Gps.Receiver.Disconnecting(System.Object,System.EventArgs)">
  7790.     <summary>Raised just before a disconnection attempt is made.</summary>
  7791.     <remarks>
  7792.  This event is Occurs when the Stop method is called and is typically used by
  7793.  application to perform preliminary clean-up operations, such as disabling menus and
  7794.  buttons for features which require an active GPS connection. Once the disconnection has
  7795.  completed (which typically takes 1/10th of a second), the
  7796.  <see cref="E:StormSource.Gps.Receiver.Disconnected(System.Object,System.EventArgs)">Disconnected</see> event is raised.
  7797.  </remarks>
  7798. </member><member name="E:StormSource.Gps.Receiver.Disconnected(System.Object,System.EventArgs)">
  7799.     <summary>Occurs when a disconnection attempt is successful.</summary>
  7800.     <remarks>
  7801.  This event indicates that the connection to the serial device is now closed, and
  7802.  the serial port is now available to be used by other applications. Before a
  7803.  disconnection occurs, the
  7804.  <see cref="E:StormSource.Gps.Receiver.Disconnecting(System.Object,System.EventArgs)">
  7805.  Disconnecting</see> event is raised.
  7806.  </remarks>
  7807. </member><member name="E:StormSource.Gps.Receiver.DownloadProgress(System.Object,StormSource.Gps.ProgressEventArgs)">
  7808.     <summary>Occurs when an item from a collection of items has been downloaded.</summary>
  7809.     <remarks>
  7810.  This event is typically used by applications which use a progress bar to signal
  7811.  download progress.
  7812.  </remarks>
  7813. </member><member name="E:StormSource.Gps.Receiver.ErrorOccurred(System.Object,StormSource.Gps.ErrorEventArgs)">
  7814.     <summary>Occurs when an unexpected exception occurs.</summary>
  7815.     <remarks>
  7816.         <para>This event indicates that data processing has failed in an unexpected
  7817.      way.</para>
  7818.         <para><font color="green"><strong>Best practice:</strong> Always wrap
  7819.      event-handling code in Try..Catch blocks</font></para>
  7820.         <para>If a developer writes code which handles a GPS.NET event, and the
  7821.      code throws an unhandled exception, the exception is thrown <em>into</em> the
  7822.      GPS.NET framework. If the developer also does not handle the ErrorOccurred event,
  7823.      their application will behave as if event code is simply ignored.</para>
  7824.     </remarks>
  7825. </member><member name="E:StormSource.Gps.Receiver.FixMethodChanged(System.Object,StormSource.Gps.FixMethodEventArgs)">
  7826.     <summary>Occurs when the FixMethod property has changed.</summary>
  7827. </member><member name="E:StormSource.Gps.Receiver.FixLikelihoodChanged(System.Object,StormSource.Gps.FixLikelihoodEventArgs)">
  7828.     <summary>
  7829.  Occurs when the likelihood of a fix being obtained (or sustained) has changed.
  7830.  </summary>
  7831.     <remarks>The fix likelihood is the result of a formula which analyzes the combined
  7832.  radio signal strength from all satellites.</remarks>
  7833. </member><member name="E:StormSource.Gps.Receiver.FixLost(System.Object,System.EventArgs)">
  7834.     <summary>
  7835.  Occurs when the device no longer has enough satellite signals to calculate the
  7836.  current location.
  7837.  </summary>
  7838.     <remarks>
  7839.         <para>At least three radio signals are required to obtain a fix on the current
  7840.      location. If three signals are present then one becomes obscured (by a building or
  7841.      tree, for example), trilateration can no longer be performed, and the fix is lost.
  7842.      If however, the signal from the satellite is no longer blocked, the fix can be
  7843.      re-obtained, and the
  7844.      
  7845.  <see cref="E:StormSource.Gps.Receiver.FixObtained(System.Object,System.EventArgs)">
  7846.      FixObtained</see> event is raised.</para>
  7847.         <para>To be notified of which specific satellite caused the fix to be lost, capture
  7848.      the
  7849.      
  7850.  <see cref="E:StormSource.Gps.Receiver.SatelliteFixLost(System.Object,StormSource.Gps.SatelliteEventArgs)">
  7851.      SatelliteFixLost</see> event.</para>
  7852.     </remarks>
  7853. </member><member name="E:StormSource.Gps.Receiver.FixModeChanged(System.Object,StormSource.Gps.FixModeEventArgs)">
  7854.     <summary>Occurs when the FixMode property has changed.</summary>
  7855.     <remarks>
  7856.  This event is rarely fired because the fix mode for most devices remains on
  7857.  <strong>Automatic</strong>. This event will notify of any change back and forth for the
  7858.  units that support it.
  7859.  </remarks>
  7860. </member><member name="E:StormSource.Gps.Receiver.FixObtained(System.Object,System.EventArgs)">
  7861.     <summary>
  7862.  Occurs when the GPS device can successfully calculate the current
  7863.  position.
  7864.  </summary>
  7865.     <remarks>
  7866.  GPS devices must receive at least three strong satellite signals in order to be
  7867.  able to calculate the current position. This event is Occurs when the minimum number of
  7868.  fixed satellites has been reached. If additional satellites become fixed, this event is
  7869.  not raised again. To become notified as more or less satellites becomes involved in a
  7870.  fix, use the
  7871.  <see cref="E:StormSource.Gps.Receiver.SatelliteFixLost(System.Object,StormSource.Gps.SatelliteEventArgs)">
  7872.  SatelliteFixLost</see> and
  7873.  <see cref="E:StormSource.Gps.Receiver.SatelliteFixObtained(System.Object,StormSource.Gps.SatelliteEventArgs)">
  7874.  SatelliteFixObtained</see> events.
  7875.  </remarks>
  7876. </member><member name="E:StormSource.Gps.Receiver.FixQualityChanged(System.Object,StormSource.Gps.FixQualityEventArgs)">
  7877.     <summary>Occurs when a fix is obtained or changes between GPS and DGPS fix.</summary>
  7878.     <remarks>
  7879.  Most frequently, this event is Occurs when the
  7880.  <see cref="P:StormSource.Gps.Receiver.FixQuality">FixQuality</see> property changes from
  7881.  <strong>NoFix</strong> to <strong>GpsFix</strong>. If DGPS ground stations are close
  7882.  enough to assist, this property can change from <strong>GpsFix</strong> to
  7883.  <strong>DifferentialGpsFix</strong>.
  7884.  </remarks>
  7885. </member><member name="E:StormSource.Gps.Receiver.HorizontalDilutionOfPrecisionChanged(System.Object,StormSource.Gps.DilutionOfPrecisionEventArgs)">
  7886.     <summary>
  7887.  Occurs when the confidence level in latitude and longitude measurements has
  7888.  changed.
  7889.  </summary>
  7890.     <remarks>
  7891.  This event is Occurs when the
  7892.  <see cref="P:StormSource.Gps.Receiver.HorizontalDilutionOfPrecision">HorizontalDilutionOfPrecision</see> property
  7893.  has changed. This event is important for any applications which make suggestions to the
  7894.  user based on the present position, plus applications which require high-precision
  7895.  measurements. For more information on programming with dilution of precision, see the
  7896.  <see cref="T:StormSource.Gps.DilutionOfPrecision">
  7897.  DilutionOfPrecision</see> class.
  7898.  </remarks>
  7899. </member><member name="E:StormSource.Gps.Receiver.MagneticVariationChanged(System.Object,StormSource.Gps.LongitudeEventArgs)">
  7900.     <summary>
  7901.  Occurs when the offset between True North and Magnetic North becomes
  7902.  known.
  7903.  </summary>
  7904.     <remarks>This event is Occurs when the MagneticVariation property has 
  7905.  changed.</remarks>
  7906. </member><member name="E:StormSource.Gps.Receiver.ManufacturerChanged(System.Object,StormSource.Gps.DeviceEventArgs)">
  7907.     <summary>Occurs when the manufacturer of the GPS device becomes known.</summary>
  7908.     <remarks>
  7909.  During communications, the GPS device can transmit information which gives clues
  7910.  about the manufacturer. If such information is received, the
  7911.  <see cref="P:StormSource.Gps.Device.Manufacturer">Manufacturer</see> property of the
  7912.  <see cref="P:StormSource.Gps.Receiver.Device">Device</see>
  7913.  class is updated, and this event is raised.
  7914.  </remarks>
  7915. </member><member name="E:StormSource.Gps.Receiver.MeanDilutionOfPrecisionChanged(System.Object,StormSource.Gps.DilutionOfPrecisionEventArgs)">
  7916.     <remarks>
  7917.  This event is Occurs whenever the
  7918.  <see cref="P:StormSource.Gps.Receiver.MeanDilutionOfPrecision">MeanDilutionOfPrecision</see> property
  7919.  changes. This event is frequently used by applications requiring high-precision
  7920.  measurements because this event provides immediate notification if position
  7921.  measurements should be paused due to insufficient accuracy.
  7922.  </remarks>
  7923.     <summary>
  7924.  Occurs when the overall confidence level in positional measurements has
  7925.  changed.
  7926.  </summary>
  7927. </member><member name="E:StormSource.Gps.Receiver.ParsingErrorOccurred(System.Object,StormSource.Gps.ParsingErrorEventArgs)">
  7928.     <summary>Occurs when a recoverable error has been encountered during data 
  7929.  parsing.</summary>
  7930.     <remarks>
  7931.         <para>During GPS communications, corrupted information can cause errors to occur,
  7932.      such as attempting to convert a non-numeric string into a number. Fortunately,
  7933.      since GPS devices transmit data every few seconds, recovering from a parsing error
  7934.      involves only waiting for the next round of data to be received.</para>
  7935.         <para><font color="green"><strong>Best practice:</strong> Parsing errors should not
  7936.      interrupt an application's operation</font></para>Errors which occur during parsing
  7937.      are quickly and automatically corrected when data is re-transmitted. As a result,
  7938.      displaying an error dialog when a parsing error occurs will add no value to an
  7939.      application. Use this event to monitor or log data errors. If a more serious error
  7940.      occurs, the
  7941.      
  7942.  <see cref="E:StormSource.Gps.Receiver.ErrorOccurred(System.Object,StormSource.Gps.ErrorEventArgs)">
  7943.      ErrorOccurred</see> event is raised.
  7944.  </remarks>
  7945. </member><member name="E:StormSource.Gps.Receiver.PositionChanged(System.Object,StormSource.Gps.PositionEventArgs)">
  7946.     <summary>Occurs when the current position has changed.</summary>
  7947.     <remarks>
  7948.         <para>This event is the most frequently used member in the entire GPS.NET
  7949.      framework. This event is Occurs when the
  7950.      <see cref="P:StormSource.Gps.Receiver.Position">Position</see> property changes. For
  7951.      developers working with UTM coordinates, use the
  7952.      <see cref="P:StormSource.Gps.Receiver.UtmPosition">UtmPosition</see> class and <see cref="E:StormSource.Gps.Receiver.UtmPositionChanged(System.Object,StormSource.Gps.UtmPositionEventArgs)">UtmPositionChanged</see> event.</para>
  7953.         <para>For developers wanting to perform position-averaging techniques, the
  7954.      
  7955.  <see cref="E:StormSource.Gps.Receiver.PositionReceived(System.Object,StormSource.Gps.PositionEventArgs)">PositionReceived</see> event should be used.</para>
  7956.     </remarks>
  7957. </member><member name="E:StormSource.Gps.Receiver.PositionReceived(System.Object,StormSource.Gps.PositionEventArgs)">
  7958.     <summary>Occurs when the GPS devices reports the current position.</summary>
  7959.     <remarks>
  7960.  This event is used for position-averaging techniques which require position
  7961.  updates even if the current location has not actually changed since the last report. To
  7962.  be notified only when the position actually changes, use the
  7963.  <see cref="E:StormSource.Gps.Receiver.PositionChanged(System.Object,StormSource.Gps.PositionEventArgs)">PositionChanged</see> event.
  7964.  </remarks>
  7965.     <seealso cref="P:StormSource.Gps.Receiver.Position">Position Property</seealso>
  7966.     <seealso cref="T:StormSource.Gps.Position">Position Class</seealso>
  7967. </member><member name="E:StormSource.Gps.Receiver.PoweredOff(System.Object,System.EventArgs)">
  7968.     <summary>
  7969.  Garmin devices only. Occurs when the device has been successfully shut
  7970.  down.
  7971.  </summary>
  7972.     <remarks>
  7973.         <para>This event is Occurs when a call to the
  7974.      <see cref="M:StormSource.Gps.Device.PowerOff">PowerOff</see> method of the
  7975.      <see cref="P:StormSource.Gps.Receiver.Device">Device</see>
  7976.      class is successful. This event is the last event raised until the device is
  7977.      powered back on by the user.</para>
  7978.         <para>
  7979.             <para><font color="maroon">WARNING: Once the device has been powered off, it
  7980.          must be manually powered on again.</font></para>
  7981.             <para><font color="green"><strong>Best practice:</strong> Always let the user
  7982.          decide if the device should be powered off.</font></para>
  7983.             <para>Once a GPS device has been powered off, it cannot be powered back on
  7984.          programmatically. Therefore, the device should only be powered off at the
  7985.          user's request. Additionally, the user should be reminded that the device must
  7986.          be powered back on manually and have an option to cancel the initial
  7987.          request.</para>
  7988.         </para>
  7989.     </remarks>
  7990.     <seealso cref="M:StormSource.Gps.Device.PowerOff">PowerOff Method (StormSource.Gps.Device)</seealso>
  7991. </member><member name="E:StormSource.Gps.Receiver.ProductNameChanged(System.Object,System.EventArgs)">
  7992.     <summary>
  7993.  Garmin devices only. Occurs when the name of the GPS device becomes more
  7994.  specifically known.
  7995.  </summary>
  7996.     <remarks>
  7997.  When communications begin using the Garmin binary protocol, the device sends
  7998.  information identifying itself and its capabilities, including the name of the device.
  7999.  When the name becomes known, the
  8000.  <see cref="P:StormSource.Gps.Device.Name">Name</see> property of the
  8001.  <see cref="P:StormSource.Gps.Receiver.Device">
  8002.  Device</see> class is set, and this event is raised.
  8003.  </remarks>
  8004. </member><member name="E:StormSource.Gps.Receiver.ProtocolChanged(System.Object,StormSource.Gps.DeviceEventArgs)">
  8005.     <summary>Occurs when the device starts sending data using a different 
  8006.  protocol.</summary>
  8007.     <remarks>
  8008.         <para>The GPS.NET framework is designed to detect changes in the current data
  8009.      protocol on-the-fly. This event is Occurs when the user switches the device to
  8010.      another protocol.</para>
  8011.         <para><font color="green"><strong>Best practice:</strong> Devices should be set to
  8012.      the NMEA-0183 protocol when real-time positional data is needed.</font></para>
  8013.         <para>While other protocols, such as the Garmin binary protocol, can transmit
  8014.      positional information, the protocol does not transmit other important information,
  8015.      such as
  8016.      
  8017.  <see cref="T:StormSource.Gps.DilutionOfPrecision">
  8018.      dilution of precision</see>. This makes NMEA-0183 the most thorough of all supported
  8019.      protocols. The Garmin binary protocol is best-suited for the transmission of
  8020.      tracks, routes, and
  8021.      
  8022.  <see cref="T:StormSource.Gps.WaypointCollection">
  8023.      waypoints</see>.</para>
  8024.     </remarks>
  8025. </member><member name="E:StormSource.Gps.Receiver.SatelliteActiveCountChanged(System.Object,StormSource.Gps.SatelliteCountEventArgs)">
  8026.     <summary>Occurs when the number of satellites with a detected signal has 
  8027.  changed.</summary>
  8028.     <remarks>
  8029.  This event is Occurs when the
  8030.  <see cref="N:StormSource.Gps">ActiveCount</see> property of the
  8031.  <see cref="T:StormSource.Gps.SatelliteCollection">
  8032.  SatelliteCollection</see> class changes. This event is typically raised several times
  8033.  during the process of acquiring a fix. Once a fix is obtained, the count may change
  8034.  very slowly as satellites move below the horizon and new satellites appear. Satellites
  8035.  can be considered active,
  8036.  <see cref="N:StormSource.Gps">tracked</see>, and/or
  8037.  <see cref="N:StormSource.Gps">fixed</see> depending on their
  8038.  signal strength and fix status.
  8039.  </remarks>
  8040. </member><member name="E:StormSource.Gps.Receiver.SatelliteAzimuthChanged(System.Object,StormSource.Gps.SatelliteEventArgs)">
  8041.     <summary>Occurs when the angle of a GPS satellite (around the horizon) has 
  8042.  changed.</summary>
  8043.     <remarks>
  8044.  This event is Occurs when the
  8045.  <see cref="P:StormSource.Gps.Satellite.Azimuth">Azimuth</see> property of a
  8046.  <see cref="T:StormSource.Gps.Satellite">Satellite</see>
  8047.  object has changed. This event is typically Occurs when information is first received
  8048.  about the location of GPS satellites. Then, once a fix has been obtained, this event is
  8049.  raised again periodically as satellites move across the sky. GPS satellites are
  8050.  constantly in motion -- new satellites rise from the horizon as others set.
  8051.  </remarks>
  8052. </member><member name="E:StormSource.Gps.Receiver.SatelliteElevationChanged(System.Object,StormSource.Gps.SatelliteEventArgs)">
  8053.     <summary>Occurs when the angle of a satellite (up from the horizon) has 
  8054.  changed.</summary>
  8055.     <remarks>
  8056.         <para>GPS satellites are constantly in motion around Earth in order to prevent
  8057.      "dead spots" where GPS could not be used due to permanently weak or blocked
  8058.      signals. This event is Occurs when the
  8059.      <see cref="N:StormSource.Gps">Elevation</see> property of a
  8060.      
  8061.  <see cref="T:StormSource.Gps.Satellite">
  8062.      Satellite</see> object has changed. This event is raised frequently when satellite
  8063.      locations are first reported, then the event is raised periodically as satellites
  8064.      move across the sky.</para>
  8065.     </remarks>
  8066. </member><member name="E:StormSource.Gps.Receiver.SatelliteFixObtained(System.Object,StormSource.Gps.SatelliteEventArgs)">
  8067.     <summary>Occurs when an additional satellite becomes involved in a fix.</summary>
  8068.     <remarks>
  8069.  If the GPS device is moved into a more open view of the sky, or a satellite moves
  8070.  into view of the GPS device, more satellites can become involved in calculating the
  8071.  current position. GPS devices report more precise information when more satellites are
  8072.  involved in a fix. If a satellite's radio signal later becomes obscured, the
  8073.  <see cref="E:StormSource.Gps.Receiver.SatelliteFixLost(System.Object,StormSource.Gps.SatelliteEventArgs)">SatelliteFixLost</see> event is raised.
  8074.  </remarks>
  8075.     <seealso cref="E:StormSource.Gps.Receiver.SatelliteFixLost(System.Object,StormSource.Gps.SatelliteEventArgs)">SatelliteFixLost Event</seealso>
  8076.     <seealso cref="T:StormSource.Gps.Satellite">Satellite Class</seealso>
  8077. </member><member name="E:StormSource.Gps.Receiver.SatelliteFixLost(System.Object,StormSource.Gps.SatelliteEventArgs)">
  8078.     <summary>
  8079.  Occurs when a GPS satellite's radio signal becomes too obscured to be involved in
  8080.  the current fix.
  8081.  </summary>
  8082.     <remarks>
  8083.         <para>This event is Occurs when a satellite's radio signal becomes obscured. Most
  8084.      frequently, this is caused when the GPS device moves into less open sky. This can
  8085.      also occur, however, if the GPS device is stationary because GPS satellites are in
  8086.      constant motion above the sky. If a new satellite becomes involved in the current
  8087.      fix, the
  8088.      
  8089.  <see cref="E:StormSource.Gps.Receiver.SatelliteFixObtained(System.Object,StormSource.Gps.SatelliteEventArgs)">
  8090.      SatelliteFixObtained</see> event is raised.</para>
  8091.         <para>This event does not suggest that the entire fix has been lost, only that one
  8092.      less satellite is involved in the current fix. To be notified when the entire fix
  8093.      has been lost, trap the
  8094.      
  8095.  <see cref="E:StormSource.Gps.Receiver.FixLost(System.Object,System.EventArgs)">
  8096.      FixLost</see> event.</para>
  8097.     </remarks>
  8098. </member><member name="E:StormSource.Gps.Receiver.SatellitePseudoRandomCodeChanged(System.Object,StormSource.Gps.SatelliteEventArgs)">
  8099.     <summary>Occurs when the unique identifier of a satellite becomes known.</summary>
  8100.     <remarks>
  8101.         <para>This event is Occurs when the
  8102.      <see cref="P:StormSource.Gps.Satellite.PseudoRandomCode">Prc</see> property of a
  8103.      
  8104.  <see cref="T:StormSource.Gps.Satellite">
  8105.      Satellite</see> object has changed. GPS satellites each transmit a
  8106.      uniquely-identifying number called a Pseudo-Random code which allows GPS
  8107.      receivers to discern one satellite from another from the ground. Satellites never
  8108.      change their PRC, so this event is only Occurs when the PRC becomes known. In some
  8109.      infrequent cases, the GPS device may suddenly decide to report satellites in a
  8110.      different order, which can also cause this event to be raised.</para>
  8111.         <para>
  8112.             <para><font color="green"><strong>Best practice:</strong> Always reference a
  8113.          GPS satellite via its PRC, not its Index.</font></para>
  8114.             <para>Some GPS devices may suddenly decide to report satellite information in a
  8115.          different order, thus causing a
  8116.          
  8117.  <see cref="T:StormSource.Gps.Satellite">
  8118.          Satellite</see> object's <see cref="P:StormSource.Gps.Satellite.Index">Index</see>
  8119.          property to change. The Prc property, however, allows a developer to always
  8120.          reference the same Satellite object regardless of the order in which satellite
  8121.          data is reported.</para>
  8122.         </para>
  8123.     </remarks>
  8124. </member><member name="E:StormSource.Gps.Receiver.SentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">
  8125.     <summary>Occurs when a fully-recognized block of data has been interpreted.</summary>
  8126.     <remarks>
  8127.  This event is commonly used to log data received from the GPS device to a file.
  8128.  It is also used frequently just after installing GPS.NET to test that serial port
  8129.  settings are correct. If the data is corrupt or contains a manufacturer-specific
  8130.  sentence that is not yet handled by GPS.NET, the
  8131.  <see cref="E:StormSource.Gps.Receiver.UnrecognizedSentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">
  8132.  UnrecognizedSentenceReceived</see> event is raised.
  8133.  </remarks>
  8134.     <seealso cref="E:StormSource.Gps.Receiver.UnrecognizedSentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">UnrecognizedSentenceReceived Event</seealso>
  8135.     <seealso cref="E:StormSource.Gps.Receiver.ParsingErrorOccurred(System.Object,StormSource.Gps.ParsingErrorEventArgs)">ParsingErrorOccurred Event</seealso>
  8136. </member><member name="E:StormSource.Gps.Receiver.SpeedChanged(System.Object,StormSource.Gps.SpeedEventArgs)">
  8137.     <summary>Occurs when the current rate of travel has changed.</summary>
  8138.     <remarks>
  8139.  This event is Occurs whenever the
  8140.  <see cref="P:StormSource.Gps.Receiver.Speed">Speed</see> property has changed. This event
  8141.  is typically used to update the user interface with the current speed or to calculate
  8142.  the
  8143.  <see cref="M:StormSource.Gps.Position.TimeTo(StormSource.Gps.Position)">
  8144.  remaining time to a destination</see>.
  8145.  </remarks>
  8146. </member><member name="E:StormSource.Gps.Receiver.Timeout(System.Object,System.EventArgs)">
  8147.     <summary>Occurs when a command sent to the GPS device results in no response.</summary>
  8148.     <remarks>
  8149.         <para>This event is typically Occurs when working with the Garmin binary protocol,
  8150.      which relies heavily upon sending commands to request data. Before this event is
  8151.      raised, the GPS.NET engine will re-connect with a different baud rate and try the
  8152.      command again. If this action still does not work, the Timeout event is
  8153.      raised.</para>
  8154.         <para>Generally speaking, there is no reason why a GPS device would be delayed
  8155.      significantly once a command has been received. Therefore, a timeout usually
  8156.      signifies incorrect serial port settings.</para>
  8157.     </remarks>
  8158. </member><member name="E:StormSource.Gps.Receiver.UnrecognizedSentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">
  8159.     <summary>Occurs when a corrupt or manufacturer-specific sentence is 
  8160.  encountered.</summary>
  8161.     <remarks>
  8162.         <para>The GPS.NET parsing engine can fail to process a sentence for either of two
  8163.      reasons:</para>
  8164.         <list type="bullet">
  8165.             <item>The sentence was corrupted and contains malformed data.</item>
  8166.             <item>The sentence is of a kind only sent by devices from a specific
  8167.          manufacturer.</item>
  8168.         </list>
  8169.         <para>This event is typically used to make the process of handling sentences
  8170.      extensible. A developer could trap this event and have a custom NMEA sentence
  8171.      parser handle the sentences that GPS.NET could not.</para>
  8172.     </remarks>
  8173. </member><member name="E:StormSource.Gps.Receiver.UtcDateTimeChanged(System.Object,StormSource.Gps.DateTimeEventArgs)">
  8174.     <summary>Occurs when the GPS device reports a new satellite-derived time.</summary>
  8175.     <remarks>
  8176.         <para>GPS devices use satellites to determine the current time. This can be very
  8177.      useful because it gives applications the opportunity to check the accuracy of the
  8178.      machine's own clock. This event is Occurs when the
  8179.      <see cref="P:StormSource.Gps.Receiver.UtcDateTime">UtcDateTime</see> property has
  8180.      changed.</para>
  8181.         <para><font color="green"><strong>Best practice:</strong> Use the
  8182.      UtcDateTimeChanged event instead of polling the UtcDateTime property</font></para>
  8183.         <para>Some GPS devices will stop sending the current date and time as soon as a fix
  8184.      is obtained. As a result, the value of the
  8185.      <see cref="P:StormSource.Gps.Receiver.UtcDateTime">UtcDateTime</see> property can quickly
  8186.      become incorrect. On the other hand, the UtcDateTimeChanged event ensures that
  8187.      operations using GPS time always use an updated, accurate time.</para>
  8188.     </remarks>
  8189. </member><member name="E:StormSource.Gps.Receiver.VerticalDilutionOfPrecisionChanged(System.Object,StormSource.Gps.DilutionOfPrecisionEventArgs)">
  8190.     <summary>Occurs when the confidence level in altitude measurements has 
  8191.  changed.</summary>
  8192.     <remarks>
  8193.         <para>This event is Occurs when the
  8194.      <see cref="P:StormSource.Gps.Receiver.VerticalDilutionOfPrecision">VerticalDilutionOfPrecision</see>
  8195.      property has changed. Vertical dilution of precision (or VDOP) is a measure of how
  8196.      precise altitude measurements are. Depending on the locations of GPS satellites
  8197.      involved in the current fix, the amount of precision can be low or high.</para>
  8198.         <para><font color="green"><strong>Best practice:</strong> Applications which make
  8199.      recommendations to the user based on the current altitude must monitor VDOP to
  8200.      ensure accuracy.</font></para>
  8201.         <para>Vertical dilution of precision allows a developer to make intelligent
  8202.      decisions on whether to use or discard altitude measurements. For example, if a
  8203.      VDOP of fifty is reported, the altitude can be incorrect by a factor of fifty,
  8204.      which may cause an application to make an incorrect suggestion to the user. A VDOP
  8205.      of six or less is recommended for applications which make decisions based on the
  8206.      current altitude.</para>
  8207.     </remarks>
  8208.     <seealso cref="P:StormSource.Gps.Receiver.VerticalDilutionOfPrecision">VerticalDilutionOfPrecision Property</seealso>
  8209.     <seealso cref="E:StormSource.Gps.Receiver.HorizontalDilutionOfPrecisionChanged(System.Object,StormSource.Gps.DilutionOfPrecisionEventArgs)">HorizontalDilutionOfPrecisionChanged Event</seealso>
  8210.     <seealso cref="E:StormSource.Gps.Receiver.MeanDilutionOfPrecisionChanged(System.Object,StormSource.Gps.DilutionOfPrecisionEventArgs)">MeanDilutionOfPrecisionChanged Event</seealso>
  8211. </member><member name="M:StormSource.Gps.Receiver.#ctor">
  8212.     <summary>Creates a new instance.</summary>
  8213.     <remarks>
  8214.         <para>This constructor uses default settings for the serial port. The settings are
  8215.      set to a configuration which will work with a majority of NMEA-compliant GPS
  8216.      devices. These settings are:</para>
  8217.         <list type="bullet">
  8218.             <item>Baud rate is set to 4800</item>
  8219.             <item>Data bits is set to 8</item>
  8220.             <item>Stop bits is set to 1</item>
  8221.             <item>Parity is set to None</item>
  8222.             <item>COM port is set to COM1</item>
  8223.         </list>
  8224.         <para>Typically, developers need only set the
  8225.      <see cref="P:StormSource.Gps.Receiver.ComPort">ComPort</see> property to begin
  8226.      successful communications.</para>To Receiver can also be initialized via its constructor. 
  8227.  </remarks>
  8228. </member><member name="P:StormSource.Gps.Receiver.Device">
  8229.     <summary>Returns hardware-specific information about a GPS device.</summary>
  8230. </member><member name="M:StormSource.Gps.Receiver.Reset">
  8231.     <summary>
  8232.  Sets all properties to the state which existed before GPS information was
  8233.  received.
  8234.  </summary>
  8235.     <remarks>
  8236.         <para>By default, the <strong>Receiver</strong> class preserves all last-known
  8237.      information received from the GPS device, until it is destructed. This method
  8238.      provides a way for developers to discard all property values without having to
  8239.      re-instantiate the class.</para>
  8240.         <para><em>Possible Improvement: As properties are set, events are not raised to
  8241.      signal that properties were changed. If you prefer to be notified of properties as
  8242.      they are reset, please make a feature request for development team via the feedback
  8243.      link in the upper-right corner.</em></para>
  8244.     </remarks>
  8245. </member><member name="P:StormSource.Gps.Receiver.DifferentialGps">
  8246.     <summary>Returns information about the current fix if ground stations are 
  8247.  involved.</summary>
  8248. </member><member name="M:StormSource.Gps.Receiver.Parse(System.String)">
  8249.     <param name="data">
  8250.  A <strong>String</strong> containing one or more raw NMEA-0183 or Garmin┬« text
  8251.  sentences
  8252.  </param>
  8253.     <summary>Interprets one or more NMEA-0183 or Garmin┬« text data sentences.</summary>
  8254.     <remarks>
  8255.         <para>This powerful method is most often used to parse previously-saved data which
  8256.      exists in binary form, such as data transmitted using the Garmin┬« binary protocol.
  8257.      However, any of the following protocols are accepted:</para>
  8258.         <list type="bullet">
  8259.             <item>NMEA-0183</item>
  8260.             <item>Garmin┬« binary protocol</item>
  8261.             <item>Garmin┬« text protocol</item>
  8262.         </list>
  8263.         <para>The receiver will automatically recognize data using varying protocols in the
  8264.      same array. The Parse method is referred to as the "wood chipper" since it can
  8265.      parse large blocks of data using mixed protocols. As data is parsed, the receiver
  8266.      behaves the same was as if the data was being received live from the device. As
  8267.      such, all properties and events are updated accordingly.</para>
  8268.         <para>To parse GPS data which exists in the form of a byte array, such as Garmin┬«
  8269.      binary data, use the <see cref="M:StormSource.Gps.Receiver.Parse(System.String)">Parse(Byte())</see> method.</para>
  8270.         <para>For more information on how to transmit binary information to a GPS receiver,
  8271.      see the
  8272.      
  8273.  <see cref="M:StormSource.Gps.Device.Send(System.String)">Send</see> method of the
  8274.  <see cref="P:StormSource.Gps.Receiver.Device">Device</see> class.</para>
  8275.     </remarks>
  8276. </member><member name="M:StormSource.Gps.Receiver.Parse(System.Byte[])">
  8277.     <overloads>Interprets a block of raw NMEA-0813, Garmin┬« binary or Garmin┬« text 
  8278.  data.</overloads>
  8279.     <summary>Interprets one or more Garmin┬« binary data packets.</summary>
  8280.     <param name="data">A byte array containing GPS data to interpret.</param>
  8281.     <returns>
  8282.         <strong>True</strong> if the entire block has been successfully interpreted,
  8283.  otherwise <strong>False</strong>.
  8284.  </returns>
  8285.     <remarks>
  8286.         <para>This powerful method is most often used to parse previously-saved data which
  8287.      exists in binary form, such as data transmitted using the Garmin┬« binary protocol.
  8288.      However, any of the following protocols are accepted:</para>
  8289.         <list type="bullet">
  8290.             <item>NMEA-0183</item>
  8291.             <item>Garmin┬« binary protocol</item>
  8292.             <item>Garmin┬« text protocol</item>
  8293.         </list>
  8294.         <para>The receiver will automatically recognize data using varying protocols in the
  8295.      same array. The Parse method is referred to as the "wood chipper" since it can
  8296.      parse large blocks of data using mixed protocols. As data is parsed, the receiver
  8297.      behaves the same was as if the data was being received live from the device. As
  8298.      such, all properties and events are updated accordingly.</para>
  8299.         <para>To parse GPS data which exists in the form of a String, such as NMEA-0183
  8300.      data, use the <see cref="M:StormSource.Gps.Receiver.Parse(System.String)">Parse(String)</see> method overload.</para>
  8301.         <para>For more information on how to transmit binary information to a GPS receiver,
  8302.      see the
  8303.      
  8304.  <see cref="M:StormSource.Gps.Device.Send(System.String)">Send</see> method of the
  8305.      <see cref="P:StormSource.Gps.Receiver.Device">Device</see> class.</para>
  8306.     </remarks>
  8307. </member><member name="P:StormSource.Gps.Receiver.CrossTrackError">
  8308.     <summary>Returns the distance away from the current route, including recommended steering direction to get back on route.</summary>
  8309. </member><member name="P:StormSource.Gps.Receiver.ComPort">
  8310.     <summary>Controls which serial port should be used for GPS communications.</summary>
  8311. </member><member name="P:StormSource.Gps.Receiver.Parity">
  8312.     <summary>
  8313.  Controls the error correction method used during GPS device
  8314.  communications.
  8315.  </summary>
  8316. </member><member name="P:StormSource.Gps.Receiver.Altitude">
  8317.     <summary>Returns the current distance above sea level.</summary>
  8318.     <remarks>
  8319.         <para>If the GPS device has not yet achieved a fix, this property will return zero.
  8320.      The altitude is available if any of the following conditions is true:</para>
  8321.         <list type="bullet">
  8322.             <item>The GPS device is using radio signals from at least four
  8323.          <see cref="P:StormSource.Gps.SatelliteCollection.FixedCount">fixed satellites</see>, or</item>
  8324.             <item>The GPS device contains an internal altimeter and does not use GPS
  8325.          satellites for altitude measurements.</item>
  8326.         </list>
  8327.         <para>When this property changes, the
  8328.      
  8329.  <see cref="E:StormSource.Gps.Receiver.AltitudeChanged(System.Object,StormSource.Gps.DistanceEventArgs)">
  8330.      AltitudeChanged</see> event is raised. This property is updated automatically as
  8331.      new information is received from the GPS devices, regardless of its technique used
  8332.      to determine the current altitude.</para>
  8333.         <para><img src="BestPractice.jpg"/></para><para><strong>Use the
  8334.          VerticalDilutionOfPrecision property if your application makes recommendation
  8335.          to the user based upon the current altitude.</strong></para>
  8336.         <para>Applications which make suggestions to the user based on the current
  8337.          altitude must frequently use the
  8338.          
  8339.  <see cref="T:StormSource.Gps.DilutionOfPrecision">
  8340.          dilution of precision</see> (or DOP) properties to determine whether or not to
  8341.          use or discard altitude measurements. Failure to utilize DOP can cause an
  8342.          application to make an inaccurate suggestion.</para>
  8343.     </remarks>
  8344.     <example>
  8345.         <code lang="VB" title="Altitude property example (VB.NET)" description="This example examines the altitude to see if the GPS device is near sea 
  8346.  level, or in the mountains.">
  8347.  
  8348.  ' Check the altitude in feet to see if the receiver is near sea level, or above a mile 
  8349.  high
  8350.  If GPS.Altitude.ToFeet.Value <= 400 Then
  8351.      Debug.WriteLine("How is the ocean?")
  8352.  ElseIf GPS.Altitude.ToFeet.Value >= 5280 Then
  8353.      Debug.WriteLine("How is it in the mountains?")
  8354.  Else
  8355.      Debug.WriteLine("You are between the mountains and sea level.")
  8356.  End If
  8357.      </code>
  8358.         <code lang="C#" title="Altitude property example (C#)" description="This example examines the altitude to see if the GPS device is near sea 
  8359.  level, or in the mountains.">
  8360.  
  8361.  // Check the altitude in feet to see if the receiver is near sea level, or above a mile 
  8362.  high
  8363.  if (GPS.Altitude.ToFeet().Value <= 400)
  8364.  {
  8365.      Debug.WriteLine("How is the ocean?");
  8366.  }
  8367.  else if (GPS.Altitude.ToFeet().Value >= 5280)
  8368.  {
  8369.      Debug.WriteLine("How is it in the mountains?");
  8370.  }
  8371.  else
  8372.  { 
  8373.      Debug.WriteLine("You are between the mountains and sea level.");
  8374.  }
  8375.      </code>
  8376.     </example>
  8377. </member><member name="P:StormSource.Gps.Receiver.AltitudeAboveWgs1984">
  8378.     <summary>
  8379.  Returns the current distance above an imaginary ellipsoid inside the
  8380.  Earth.
  8381.  </summary>
  8382. </member><member name="P:StormSource.Gps.Receiver.Bearing">
  8383.     <summary>Returns the current direction of travel.</summary>
  8384. </member><member name="M:StormSource.Gps.Receiver.SetLicenseKey(System.String)">
  8385.     <summary>
  8386.  For registered owners, sets a license key which suppresses any "nag"
  8387.  screens.
  8388.  </summary>
  8389. </member><member name="P:StormSource.Gps.Receiver.MagneticBearing">
  8390.     <summary>Returns the current direction of travel, oriented with Magnetic 
  8391.  North.</summary>
  8392. </member><member name="M:StormSource.Gps.Receiver.CancelWaitForFix">
  8393.     <summary>
  8394.  Aborts a previous call to the
  8395.  <see cref="M:StormSource.Gps.Receiver.WaitForFix">WaitForFix</see> method.
  8396.  </summary>
  8397. </member><member name="M:StormSource.Gps.Receiver.CancelWaitForData">
  8398.     <summary>
  8399.  Aborts a previous call to the
  8400.  <see cref="M:StormSource.Gps.Receiver.WaitForData">WaitForData</see> method.
  8401.  </summary>
  8402. </member><member name="M:StormSource.Gps.Receiver.CancelWaitForPosition">
  8403.     <summary>
  8404.  Aborts a previous call to the
  8405.  <see cref="M:StormSource.Gps.Receiver.WaitForPosition">WaitForPosition</see> method.
  8406.  </summary>
  8407. </member><member name="P:StormSource.Gps.Receiver.Enabled">
  8408.     <summary>Controls whether or not GPS communications are active.</summary>
  8409. </member><member name="P:StormSource.Gps.Receiver.FixMethod">
  8410.     <summary>Indicates if the fix is two-dimensional or three-dimensional.</summary>
  8411.     <value>
  8412.  A value from the
  8413.  <see cref="T:StormSource.Gps.FixMethod">FixMethod</see>
  8414.  enumeration.
  8415.  </value>
  8416.     <remarks>
  8417.         <para>This property is typically used to determine whether or not to begin reading
  8418.      <see cref="P:StormSource.Gps.Receiver.Altitude">altitude</see> measurements. When three
  8419.      satellites are involved in a fix, the latitude and longitude can be determined and
  8420.      it is known as a "2D fix." When four or more satellites are involved, the altitude
  8421.      can be calculated in addition to latitude and longitude, otherwise known as a "3D
  8422.      fix."</para>
  8423.         <para><img src="BestPractice.jpg"/></para><para><strong>FixMethod should not control 
  8424.  whether altitude measurements are made.</strong></para><para> This property is provided for completeness
  8425.      only. Some GPS devices have a built-in altimeter and therefore do not require a GPS
  8426.      satellite fix in order to report an accurate altitude. As such, you should always
  8427.      use the <see cref="P:StormSource.Gps.Receiver.Altitude">Altitude</see> and
  8428.      
  8429.  <see cref="E:StormSource.Gps.Receiver.AltitudeChanged(System.Object,StormSource.Gps.DistanceEventArgs)">
  8430.      AltitudeChanged</see> members to obtain altitude information.</para>
  8431.     </remarks>
  8432. </member><member name="P:StormSource.Gps.Receiver.FixMode">
  8433.     <summary>Indicates if the GPS device is automatically determining the fix 
  8434.  method.</summary>
  8435. </member><member name="P:StormSource.Gps.Receiver.FixQuality">
  8436.     <summary>
  8437.  Indicates if the fix is estimated, a "regular" satellite fix, or a "differential"
  8438.  fix using ground stations.
  8439.  </summary>
  8440. </member><member name="P:StormSource.Gps.Receiver.FixLikelihood">
  8441.     <summary>
  8442.  Returns the likelihood that a fix will be obtained (or sustained if there is
  8443.  already a fix).
  8444.  </summary>
  8445.     <remarks>
  8446.         <para>This property is a fuzzy logic interpretation used to see if a fix will soon
  8447.      be obtained. If a fix has already been obtained, this property can be used to
  8448.      determine the likelihood that the fix will continue to be sustained. As an example,
  8449.      if an application is about to take a measurement in a few seconds, it can use this
  8450.      property to decide if the fix will probably still be present when the measurement
  8451.      is performed.</para>
  8452.         <para><em><strong>Developer Tip:</strong> GPS.NET beta testers have used this
  8453.      property in conjunction with a ProgressBar control to give the user a sense of
  8454.      progress towards obtaining a fix, plus as a means to tell the user if they need to
  8455.      find a more clear view of the sky. Although it's possible for the progress bar to
  8456.      go backwards using this property, users have reported that this technique was
  8457.      useful.</em></para>
  8458.     </remarks>
  8459.     <value>
  8460.  A value from the
  8461.  <see cref="P:StormSource.Gps.Receiver.FixLikelihood">
  8462.  FixLikelihood</see> enumeration.
  8463.  </value>
  8464. </member><member name="P:StormSource.Gps.Receiver.HorizontalPositionError">
  8465.     <summary>
  8466.  Returns the estimated error of latitude and longitude measurements as a
  8467.  measurable distance.
  8468.  </summary>
  8469. </member><member name="P:StormSource.Gps.Receiver.HorizontalDilutionOfPrecision">
  8470.     <summary>
  8471.  Returns the current confidence level in latitude and longitude
  8472.  measurements.
  8473.  </summary>
  8474. </member><member name="P:StormSource.Gps.Receiver.IsFixObtained">
  8475.     <summary>Indicates if the GPS device is currently reporting the present 
  8476.  position.</summary>
  8477. </member><member name="P:StormSource.Gps.Receiver.IsPositionObtained">
  8478.     <summary>
  8479.  Indicates if the GPS device is reporting the current (or last known)
  8480.  position.
  8481.  </summary>
  8482. </member><member name="P:StormSource.Gps.Receiver.IsWaitingForData">
  8483.     <summary>Indicates if the receiver has not yet received data from the device.</summary>
  8484. </member><member name="P:StormSource.Gps.Receiver.IsWaitingForFix">
  8485.     <summary>Indicates if the receiver has not yet obtained a fix.</summary>
  8486. </member><member name="P:StormSource.Gps.Receiver.IsWaitingForPosition">
  8487.     <summary>Indicates if the receiver has received any positional information.</summary>
  8488. </member><member name="P:StormSource.Gps.Receiver.IsWaitingForWaypoints">
  8489.     <summary>
  8490.  Garmin┬« devices only. Indicates if the receiver is waiting for waypoint
  8491.  information to be received.
  8492.  </summary>
  8493. </member><member name="P:StormSource.Gps.Receiver.MagneticVariation">
  8494.     <summary>Returns the difference in degrees between True North and Magnetic 
  8495.  North.</summary>
  8496. </member><member name="P:StormSource.Gps.Receiver.Position">
  8497.     <summary>Returns the current position on Earth's surface.</summary>
  8498.     <remarks>
  8499.         <para>Perhaps the most frequently-used property in this library, the
  8500.      <strong>Position</strong> property returns the current or last-known position
  8501.      obtained from the GPS device. If the receiver does not have a position to report,
  8502.      degree values of zero are returned for both latitude and longitude. when this
  8503.      property changes, the PositionChanged event is raised. The PositionReceived event
  8504.      works similarly, but reports the position <em>even if it has not actually
  8505.      changed</em> (which is useful for position-averaging techniques). This property is
  8506.      updated automatically as new information is received from the GPS device.</para>
  8507.         <para>
  8508.             <para><img src="BestPractice.jpg"/></para><para><strong>Use the IsFixObtained
  8509.          property to determine the measurement's validity.</strong></para>
  8510.             <para>If the <see cref="P:StormSource.Gps.Receiver.IsFixObtained">IsFixObtained</see>
  8511.          property is <strong>True</strong>, this property represents the current
  8512.          location. On the other hand, a value of <strong>False</strong> suggests that
  8513.          the <strong>Position</strong> is the <em>last-known</em> position obtained
  8514.          during an earlier fix.</para>
  8515.             <para><img src="BestPractice.jpg"/></para><para><strong>Do not assume that
  8516.          positional reports are accurate. Use the DilutionOfPrecision properties to
  8517.          determine whether to use or discard positional measurements.</strong></para>
  8518.             <para>Any application which makes recommendations to the user based on the
  8519.          current position must constantly poll
  8520.          
  8521.  <see cref="T:StormSource.Gps.DilutionOfPrecision">
  8522.          dilution of precision</see> (or DOP) information. Applications which ignore DOP
  8523.          values may make incorrect suggestions.</para>
  8524.         </para>
  8525.     </remarks>
  8526.     <value>A <strong>Position</strong> object representing the current location.</value>
  8527. </member><member name="P:StormSource.Gps.Receiver.UtmPosition">
  8528.     <summary>Returns the current location expressed as a UTM coordinate.</summary>
  8529.     <remarks>
  8530.         <para>This property behaves the same as the
  8531.      <see cref="P:StormSource.Gps.Receiver.Position">Position</see> property, with the
  8532.      exception that the position is converted into a UTM coordinate. When this property
  8533.      changes, the PositionChanged event is raised. The PositionReceived event works
  8534.      similarly, but reports the position <em>even if it has not actually changed</em>
  8535.      (which is useful for position-averaging techniques). This property is updated
  8536.      automatically as new information is received from the GPS device.</para>
  8537.         <para>
  8538.             <para><img src="BestPractice.jpg"/></para><para><strong>Use the IsFixObtained
  8539.          property to determine the measurement's validity.</strong></para>
  8540.             <para>If the <see cref="P:StormSource.Gps.Receiver.IsFixObtained">IsFixObtained</see>
  8541.          property is <strong>True</strong>, this property represents the current
  8542.          location. On the other hand, a value of <strong>False</strong> suggests that
  8543.          the <strong>Position</strong> is the <em>last-known</em> position obtained
  8544.          during an earlier fix.</para>
  8545.             <para><img src="BestPractice.jpg"/></para><para><strong>Do not assume that
  8546.          positional reports are accurate. Use the DilutionOfPrecision properties to
  8547.          determine whether to use or discard positional measurements.</strong></para>
  8548.             <para>Any application which makes recommendations to the user based on the
  8549.          current position must constantly poll
  8550.          
  8551.  <see cref="T:StormSource.Gps.DilutionOfPrecision">
  8552.          dilution of precision</see> (or DOP) information. Applications which ignore DOP
  8553.          values may make incorrect suggestions.</para>
  8554.         </para>
  8555.     </remarks>
  8556.     <value>A <strong>UtmPosition</strong> object representing the current location.</value>
  8557. </member><member name="P:StormSource.Gps.Receiver.MeanDilutionOfPrecision">
  8558.     <summary>
  8559.  Returns the overall confidence level in latitude, longitude and altitude
  8560.  measurements.
  8561.  </summary>
  8562. </member><member name="P:StormSource.Gps.Receiver.PositionError">
  8563.     <summary>Returns the estimated amount of error in the current position.</summary>
  8564. </member><member name="P:StormSource.Gps.Receiver.Satellites">
  8565.     <summary>Returns information about detectable GPS satellites in space.</summary>
  8566.     <remarks>
  8567.  This collection is populated with any
  8568.  <see cref="P:StormSource.Gps.SatelliteCollection.ActiveCount">active</see>
  8569.         <strong>Satellite</strong>
  8570.  objects and will change as new satellites become active and other satellites move below
  8571.  the horizon (GPS satellites are not geostationary). This collection is updated
  8572.  automatically as new information is received from the GPS device.
  8573.  </remarks>
  8574.     <value>
  8575.  A <see cref="T:StormSource.Gps.SatelliteCollection">SatelliteCollection</see> object containing 
  8576.  information about any active GPS satellite.
  8577.  </value>
  8578. </member><member name="P:StormSource.Gps.Receiver.Speed">
  8579.     <summary>Returns the current rate of travel.</summary>
  8580.     <remarks>
  8581.         <para>The GPS device calculates your speed internally by figuring out the amount of
  8582.      time which has passed between distance measurements. As the
  8583.      
  8584.  <see cref="T:StormSource.Gps.DilutionOfPrecision">dilution of precision</see> decreases, this property 
  8585.  becomes more accurate. When this property changes, the <see cref="E:StormSource.Gps.Receiver.SpeedChanged(System.Object,StormSource.Gps.SpeedEventArgs)">SpeedChanged</see> 
  8586.  event is raised. This property is updated automatically as new information is received 
  8587.  from the GPS device.</para>
  8588.         <para><img src="BestPractice.jpg"/></para><para><strong>Always use distance
  8589.  conversion methods to make the speed explicit.</strong></para>
  8590.         <para>No assumption should be made that this property will always return the
  8591.  current speed in a particular unit (MPH, KPH, etc.). Use a conversion method such
  8592.  as <see cref="M:StormSource.Gps.Speed.ToKilometersPerHour">ToKilometersPerHour</see> or 
  8593.  <see cref="M:StormSource.Gps.Speed.ToStatuteMilesPerHour">ToStatuteMilesPerHour</see> to make the 
  8594.  speed unit explicit in your code. Failure to explicitly state speed units can lead to 
  8595.  mathematical errors.</para>
  8596.     </remarks>
  8597. </member><member name="M:StormSource.Gps.Receiver.Start">
  8598.     <summary>Begins listening for data from the GPS device.</summary>
  8599. </member><member name="M:StormSource.Gps.Receiver.Stop">
  8600.     <summary>Halts all communications with the GPS device.</summary>
  8601. </member><member name="P:StormSource.Gps.Receiver.UtcDateTime">
  8602.     <summary>
  8603.  Returns the current date and time as calculated by GPS satellites (not the local
  8604.  computer).
  8605.  </summary>
  8606.     <value>
  8607.  A <strong>DateTime</strong> object containing the date & time (in UTC)
  8608.  reported by the GPS device.
  8609.  </value>
  8610.     <remarks>
  8611.         <para>This property returns the date and time reported by the GPS device in UTC
  8612.  format (i.e. not adjusted for time zone). Since the GPS device uses GPS satellites
  8613.  to determine the time -- and not the computer's internal clock -- this property can
  8614.  be used to correct a computer's system clock.</para>
  8615.         <para><img src="BestPractice.jpg"/></para><para><strong>Use the
  8616.  UtcDateTimeChanged event instead of polling the UtcDateTime property for
  8617.  time-sensitive operations.</strong></para>
  8618.         <para>Some GPS devices will cease to report an updated time as soon as a fix is
  8619.  obtained. As a result, an application could erroneously read an old date/time value
  8620.  if it uses the <strong>UtcDateTime</strong> property instead of the
  8621.  <see cref="E:StormSource.Gps.Receiver.UtcDateTimeChanged(System.Object,StormSource.Gps.DateTimeEventArgs)">UtcDateTimeChanged</see> event. Using the event ensures 
  8622.  that time-sensitive operations avoid errors.</para>
  8623.         <para><img src="BestPractice.jpg"/></para><para><strong>Always convert
  8624.  date/time measurements to the local time zone before presenting them to the
  8625.  user interface.</strong></para>
  8626.         <para>Use the <strong>ToLocalTime</strong> method to explicitly convert the
  8627.  time to the user's local time zone, unless your application specifically
  8628.  requires times expressed in UTC. Failure to use this method can cause confusion
  8629.  for users since the time will appear incorrect.</para>
  8630.     </remarks>
  8631. </member><member name="P:StormSource.Gps.Receiver.VerticalDilutionOfPrecision">
  8632.     <summary>Returns the confidence level in altitude measurements.</summary>
  8633. </member><member name="P:StormSource.Gps.Receiver.VerticalPositionError">
  8634.     <summary>
  8635.  Returns the estimated error of latitude and longitude measurements as a
  8636.  measurable distance.
  8637.  </summary>
  8638. </member><member name="P:StormSource.Gps.Receiver.Waypoints">
  8639.     <summary>
  8640.  Garmin┬« devices only. Returns information stored on the GPS device about
  8641.  significant locations.
  8642.  </summary>
  8643. </member><member name="M:StormSource.Gps.Receiver.WaitForData(System.Int32)">
  8644.     <overloads>
  8645.  Blocks until some recognizable data has been received (or a timeout
  8646.  occurs).
  8647.  </overloads>
  8648. </member><member name="M:StormSource.Gps.Receiver.WaitForFix(System.Int32)">
  8649.     <overloads>Blocks until a fix has been obtained (or a timeout occurs).</overloads>
  8650. </member><member name="M:StormSource.Gps.Receiver.WaitForPosition">
  8651.     <overloads>
  8652.  Blocks until the current or last-known position is received, or a timeout
  8653.  occurs.
  8654.  </overloads>
  8655. </member><member name="M:StormSource.Gps.Receiver.WaitForPosition(System.Int32)">
  8656.     <overloads>
  8657.  Blocks until the current or last-known position is received, or a timeout
  8658.  occurs after the specified maximum wait time.
  8659.  </overloads>
  8660. </member><member name="M:StormSource.Gps.Receiver.Dispose">
  8661.     <summary>Releases unmanaged resources used during GPS device communications.</summary>
  8662. </member><member name="T:StormSource.Gps.Receiver">
  8663.     <summary>
  8664.  The root-level class which provides the majority of GPS features and access to
  8665.  information from a GPS device.
  8666.  </summary>
  8667.     <remarks>
  8668.         <para>This class is the workhorse of the GPS.NET framework. This class is
  8669.  responsible for interpreting all information as it is received from the GPS device
  8670.  and raising all necessary events to provide the developer with maximum
  8671.  notification. At the center of this class are the
  8672.  <see cref="P:StormSource.Gps.Receiver.Position">Position</see>, <see cref="P:StormSource.Gps.Receiver.UtmPosition">UtmPosition</see>,
  8673.  <see cref="P:StormSource.Gps.Receiver.Altitude">Altitude</see>, <see cref="P:StormSource.Gps.Receiver.Bearing">Bearing</see>, and
  8674.  <see cref="P:StormSource.Gps.Receiver.Speed">Speed</see> properties which identify the current location 
  8675.  of the GPS device on Earth. Several events are also provided for each property which can 
  8676.  be changed by the device, including <see cref="E:StormSource.Gps.Receiver.PositionChanged(System.Object,StormSource.Gps.PositionEventArgs)">PositionChanged</see>, 
  8677.  <see cref="E:StormSource.Gps.Receiver.UtmPositionChanged(System.Object,StormSource.Gps.UtmPositionEventArgs)">UtmPositionChanged</see>,
  8678.  <see cref="E:StormSource.Gps.Receiver.PositionReceived(System.Object,StormSource.Gps.PositionEventArgs)">PositionReceived</see>,
  8679.  <see cref="E:StormSource.Gps.Receiver.AltitudeChanged(System.Object,StormSource.Gps.DistanceEventArgs)">AltitudeChanged</see>,
  8680.  <see cref="E:StormSource.Gps.Receiver.BearingChanged(System.Object,StormSource.Gps.AzimuthEventArgs)">BearingChanged</see> and
  8681.  <see cref="E:StormSource.Gps.Receiver.SpeedChanged(System.Object,StormSource.Gps.SpeedEventArgs)">SpeedChanged</see>, among others. Information about 
  8682.  accuracy regarding the current location is stored in the
  8683.  <see cref="P:StormSource.Gps.Receiver.MeanDilutionOfPrecision">MeanDilutionOfPrecision</see>,
  8684.  <see cref="P:StormSource.Gps.Receiver.HorizontalDilutionOfPrecision">HorizontalDilutionOfPrecision</see>,
  8685.  <see cref="P:StormSource.Gps.Receiver.VerticalDilutionOfPrecision">VerticalDilutionOfPrecision</see> 
  8686.  properties, which is crucial knowledge for developers writing application which make 
  8687.  suggestions to the user based on the current location, or for survey applications where 
  8688.  readings are ignored until the highest accuracy is available.</para>
  8689.         <para></para>
  8690.         <para><strong>Configuring the Serial Port</strong></para>
  8691.         <para>Once the receiver is configured to a specific <see cref="P:StormSource.Gps.Receiver.ComPort">COM port</see> 
  8692.  and <see cref="P:StormSource.Gps.Receiver.BaudRate">baud rate</see> (along with other <see cref="P:StormSource.Gps.Receiver.Device">device</see> 
  8693.  settings), communication with the GPS device is controlled via the <see cref="M:StormSource.Gps.Receiver.Start">Start</see>
  8694.  and <see cref="M:StormSource.Gps.Receiver.Stop">Stop</see> methods, or via the <see cref="P:StormSource.Gps.Receiver.Enabled">
  8695.  Enabled</see> property.</para>
  8696.         <para></para>
  8697.         <para><strong>Information About Detected GPS Satellites</strong></para>
  8698.         <para>If the GPS device has detected DGPS or WAAS correction information from
  8699.  ground stations in addition to GPS satellites, information about correct can be
  8700.  found in the <see cref="P:StormSource.Gps.Receiver.DifferentialGps">DifferentialGps</see> and
  8701.  <see cref="P:StormSource.Gps.Receiver.FixMethod">FixMethod</see> properties. Information on the physical 
  8702.  location and signal strength of satellite radio signals is found in the 
  8703.  <see cref="P:StormSource.Gps.Receiver.Satellites">Satellites</see> property.</para>
  8704.         <para></para>
  8705.         <para><strong>Recording and Parsing Raw GPS Data</strong></para>
  8706.         <para>Access to raw data for the purposes of logging can be made by capturing the
  8707.  <see cref="E:StormSource.Gps.Receiver.SentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">SentenceReceived</see> and 
  8708.  <see cref="E:StormSource.Gps.Receiver.UnrecognizedSentenceReceived(System.Object,StormSource.Gps.SentenceEventArgs)">UnrecognizedSentenceReceived</see> 
  8709.  events. Processing of previously-saved raw GPS data can be performed via the
  8710.  <see cref="M:StormSource.Gps.Receiver.Parse(System.String)">Parse</see> method, which supports any NMEA-0183, Garmin┬« 
  8711.  text or Garmin┬« binary protocol data.</para>
  8712.         <para></para>
  8713.         <para><strong>Error Handling and Notification</strong></para>
  8714.         <para>Exception handling in the GPS.NET framework is performed via the
  8715.  <see cref="T:StormSource.Gps.GpsException">GpsException</see>
  8716.  class, the <see cref="E:StormSource.Gps.Receiver.ErrorOccurred(System.Object,StormSource.Gps.ErrorEventArgs)">ErrorOccurred</see> event for unexpected 
  8717.  errors, and the <see cref="E:StormSource.Gps.Receiver.ParsingErrorOccurred(System.Object,StormSource.Gps.ParsingErrorEventArgs)">ParsingErrorOccurred</see> 
  8718.  event for recoverable parsing errors due to incorrect or corrupt raw data.</para>
  8719.         <para></para>
  8720.         <para><strong>Special Classes for Garmin┬« Devices</strong></para>
  8721.         <para>For Garmin┬« devices, classes are available which allow developers to retrieve
  8722.  and store information stored on the device, such as <see cref="P:StormSource.Gps.Receiver.Waypoints">waypoints</see>.
  8723.  </para>
  8724.         <para></para>
  8725.         <para><img src="BestPractice.jpg"/></para><para><strong>Use events of the GPS.NET Framework to drive your GPS
  8726.  applications</strong></para>
  8727.         <para>GPS programming is largely event-driven because of the unpredictable order in
  8728.  which updated GPS information is received from the device. While it is possible to
  8729.  query GPS information in a scripting-like fashion using <see cref="M:StormSource.Gps.Receiver.WaitForPosition">
  8730.  WaitForPosition</see> and <see cref="M:StormSource.Gps.Receiver.WaitForFix">WaitForFix</see>, using events 
  8731.  is the most efficient and fastest way to process updated information.</para>
  8732.         <para></para>
  8733.         <para><strong>Licensing and Redistribution of the GPS.NET Framework</strong></para>
  8734.         <para>This software will behave as through it were a 30-day fully-functional trial
  8735.  unless a valid serial number has been set via the <see cref="M:StormSource.Gps.Receiver.SetLicenseKey(System.String)">
  8736.  SetLicenseKey</see> method. Once set, the "nag" window will no longer appear. To
  8737.  deploy GPS.NET to another computer as part of your application's installation, you
  8738.  need only include <strong>dll</strong>.</para>
  8739.         <para></para>
  8740.         <para><strong>Licensing Changes for Developers Using Previous Versions</strong></para>
  8741.         <para>Previous versions required developers to jump through a few hoops to
  8742.  successfully install GPS.NET on client machines. This included the addition of a
  8743.  "<strong>licenses.lic</strong>" embedded resource, creation of a run-time
  8744.  "<strong>licensing.licx</strong>" resource, compilation of licenses using the .NET
  8745.  License Compiler, and a second DLL (Xheo.Licensing.dll) before it would work on
  8746.  deployed machines. In version 1.4, this complexity has all been discarded -- you
  8747.  may now remove all licensing files as well as the Xheo DLL from your installation
  8748.  project and use the new licensing method mentioned above.</para>
  8749.         <para></para>
  8750.         <para><strong>Obtaining Support, Making Feature Requests, Known Issues and Beta Testing</strong></para>
  8751.         <para>StormSource Software prides itself on providing quick and high-quality
  8752.  technical support. If you encounter an error, have a comment, or need assistance
  8753.  with understanding the GPS.NET Framework, please visit us online at:
  8754.  <see href="http://www.gpsdotnet.com/support">http://www.gpsdotnet.com/support</see> or
  8755.  send an e-mail to <see href="mailto:support@gpsdotnet.com">support@gpsdotnet.com</see>.
  8756.  We typically respond to support requests within six hours. Information about known
  8757.  issues and workarounds can be found in the Knowledge Base here:
  8758.  <see href="http://www.gpsdotnet.com/kb">http://www.gpsdotnet.com/kb</see>. Developers
  8759.  who want to purchase GPS.NET can find information about pricing and special discounts 
  8760.  here: <see href="http://www.gpsdotnet.com/purchase">http://www.gpsdotnet.com/purchase</see>.
  8761.  If you would like to be a part of our beta testing program, please write us at
  8762.  <see href="mailto:info@gpsdotnet.com?Subject=Beta Testing Program Request">info@gpsdotnet.com</see>. Beta testers who
  8763.  actively submit feedback will receive a discount if they decide to purchase!</para>
  8764.     </remarks>
  8765. </member><member name="E:StormSource.Gps.Satellite.PseudoRandomCodeChanged(System.Object,StormSource.Gps.SatelliteEventArgs)">
  8766.     <summary>
  8767.  Occurs when the Pseudo-Random Code of a satellite object becomes
  8768.  known.
  8769.  </summary>
  8770.     <remarks>
  8771.         <para>This event is rarely raised more than once because a satellite's PseudoRandomCode does not
  8772.      actually change. However, a GPS device may suddenly report satellite information in
  8773.      a different order. This can cause this event to be raised again to help developers
  8774.      keep information straight if they are referring to satellites via their
  8775.      <see cref="P:StormSource.Gps.Satellite.Index">Index</see> property.</para>
  8776.     </remarks>
  8777.     <seealso cref="P:StormSource.Gps.Satellite.PseudoRandomCode">PseudoRandomCode Property</seealso>
  8778. </member><member name="E:StormSource.Gps.Satellite.AzimuthChanged(System.Object,StormSource.Gps.SatelliteEventArgs)">
  8779.     <remarks>
  8780.  This event is Occurs whenever the
  8781.  <see cref="P:StormSource.Gps.Satellite.Azimuth">Azimuth</see> property has changed. This
  8782.  event is useful for detecting changes in a satellite's position. Over longer periods of
  8783.  time, the azimuth of a satellite slowly changes as it moves across the sky because GPS
  8784.  satellites are constantly in motion. Each satellite is viewable in the sky for about
  8785.  four hours before it disappears below the horizon and other satellites appear.
  8786.  </remarks>
  8787.     <summary>Occurs when the angle around the horizon of a satellite has changed.</summary>
  8788.     <seealso cref="P:StormSource.Gps.Satellite.Azimuth">Azimuth Property</seealso>
  8789. </member><member name="E:StormSource.Gps.Satellite.ElevationChanged(System.Object,StormSource.Gps.SatelliteEventArgs)">
  8790.     <remarks>
  8791.         <para>This event is Occurs whenever the
  8792.      <see cref="P:StormSource.Gps.Satellite.Elevation">Elevation</see> property has changed.
  8793.      This event is useful for detecting changes in one satellite's position. Over longer
  8794.      periods of time, the elevation of a satellite slowly changes as it moves across the
  8795.      sky. Each satellite is viewable in the sky for about four hours before it
  8796.      disappears below the horizon and other satellites appear.</para>
  8797.     </remarks>
  8798.     <summary>Occurs when a satellites angle up from the horizon has changed.</summary>
  8799. </member><member name="E:StormSource.Gps.Satellite.SignalToNoiseRatioChanged(System.Object,StormSource.Gps.SatelliteEventArgs)">
  8800.     <summary>Occurs when a satellite's radio becomes more or less obscured.</summary>
  8801.     <remarks>
  8802.  Satellites send radio signals out at a constant strength, but the signals can
  8803.  become obscured or completely blocked by objects on Earth such as buildings, trees and
  8804.  walls. When the level of obscurity changes, the
  8805.  <see cref="P:StormSource.Gps.Satellite.SignalToNoiseRatio">SignalToNoiseRatio</see> property is updated
  8806.  and this event is raised.
  8807.  </remarks>
  8808. </member><member name="E:StormSource.Gps.Satellite.FixObtained(System.Object,StormSource.Gps.SatelliteEventArgs)">
  8809.     <summary>
  8810.  Occurs when the satellite's signal is strong enough to involve it in the current
  8811.  fix.
  8812.  </summary>
  8813.     <remarks>
  8814.         <para>When a fix is obtained, it means that the satellite signal strength of at
  8815.      least three satellites is strong enough to calculate the current position. After a
  8816.      fix is obtained, additional satellites may join the fix as well. Since satellites
  8817.      are constantly in motion within their orbits, and GPS devices are also usually in
  8818.      motion, it is typical for satellites to join and leave a fix frequently.</para>
  8819.         <para><img src="BestPractice.jpg"/></para><para><strong>Avoid using the
  8820.      FixObtained event of the Satellite class to signal that a fix has been
  8821.      obtained.</strong></para>
  8822.         <para>The FixObtained event of the Satellite class is intended to indicate when
  8823.      <em>additional</em> satellites have joined a fix, not when the entire fix has been
  8824.      obtained. This is because the FixObtained event is raised more than once when the
  8825.      fix is obtained. The cleanest approach would be to use the FixObtained event of the
  8826.      SatelliteCollection or Receiver classes.</para>
  8827.     </remarks>
  8828. </member><member name="E:StormSource.Gps.Satellite.FixLost(System.Object,StormSource.Gps.SatelliteEventArgs)">
  8829.     <remarks>
  8830.         <para>This event is used to indicate that a satellite signal which is currently
  8831.      part of a fix, has just been lost. This typically occurs when a satellite signal
  8832.      becomes obscured. During the lifetime of a fix, and since satellites are constantly
  8833.      in motion within their orbits, it is typical for satellites to join and leave a
  8834.      fix.</para>
  8835.         <para>This event does not necessarily indicate that the entire fix was lost. For
  8836.      example, if four satellites are involved in a fix, and one is lost, this event will
  8837.      be raised, but there are still enough satellites remaining to maintain the
  8838.      fix.</para>
  8839.         <para><img src="BestPractice.jpg"/></para><para><strong>Avoid using the FixLost
  8840.      event of the Satellite class to signal that a fix has been lost.</strong></para>
  8841.         <para>The FixLost event of the Satellite class is intended to indicate when a
  8842.      single satellite has dropped out of the current fix, not when the entire fix has
  8843.      been lost. Use the FixLost event of the SatelliteCollection or Receiver classes to
  8844.      signal that the entire fix has been lost.</para>
  8845.     </remarks>
  8846. </member><member name="T:StormSource.Gps.Satellite">
  8847.     <summary>Represents information about a GPS satellite.</summary>
  8848.     <remarks>
  8849.         <para>GPS devices are able to isolate information about GPS satellites in orbit. Each
  8850.      satellite's <see cref="P:StormSource.Gps.Satellite.PseudoRandomCode">unique identifier</see>,
  8851.      <see cref="P:StormSource.Gps.Satellite.SignalToNoiseRatio">radio signal strength</see>,
  8852.      <see cref="P:StormSource.Gps.Satellite.Azimuth">azimuth</see> and
  8853.      <see cref="P:StormSource.Gps.Satellite.Elevation">elevation</see> are available once its
  8854.      radio signal is detected.</para>
  8855.         <para>Properties in this class are updated automatically as new information is
  8856.      received from the GPS device.</para>
  8857.         <para><img src="Satellite.jpg"/></para>
  8858.     </remarks>
  8859.     <seealso cref="T:StormSource.Gps.SatelliteCollection">SatelliteCollection Class</seealso>
  8860. </member><member name="F:StormSource.Gps.Longitude.PrimeMeridian">
  8861.     <summary>Represents a longitude of zero degrees, also known as the Prime 
  8862.  Meridian.</summary>
  8863.     <remarks>
  8864.         <para>The Prime Meridian, located at 0┬░E (and 0┬░W), also known as the "Greenwich" Meridian was chosen as the
  8865.      Prime Meridian of the World in 1884. Forty-one delegates from 25 nations met in
  8866.      Washington, D.C. for the International Meridian Conference. By the end of the
  8867.      conference, Greenwich had won the prize of Longitude 0┬║ by a vote of 22 to 1
  8868.      against (San Domingo), with 2 abstentions (France and Brazil).</para>
  8869.         <para>The Prime Meridian is also significant in that it marks the location from
  8870.      which all time zones are measured. Times displayed as "Zulu," "UTC," or "GMT" are
  8871.      all talking about times adjusted to the Greenwich time zone.</para>
  8872.         <para>Before the Prime Meridian, almost every town in the world kept its own local
  8873.      time. There were no national or international conventions which set how time should
  8874.      be measured, or when the day would begin and end, or even what length an hour might
  8875.      be!</para>
  8876.     </remarks>
  8877. </member><member name="F:StormSource.Gps.Longitude.InternationalDateLine">
  8878.     <summary>Represents a longitude 180 degrees.</summary>
  8879.     <remarks>
  8880.  This value of 180┬░W (also 180┬░E) marks the longitude located on the opposite side of the Earth from the
  8881.  Prime Meridian. It runs approximately through the
  8882.  <a href="http://greenwichmeridian.com/date-line.htm">International Date Line</a>
  8883.  (between Alaska and Russia).
  8884.  </remarks>
  8885. </member><member name="F:StormSource.Gps.Longitude.Minimum">
  8886.     <summary>Represents the minimum possible longitude of zero degrees.</summary>
  8887.     <remarks>
  8888.  This member is provided for completeness and is equivalent to the
  8889.  <see cref="F:StormSource.Gps.Longitude.PrimeMeridian">PrimeMeridian</see> shared field.
  8890.  </remarks>
  8891. </member><member name="F:StormSource.Gps.Longitude.Maximum">
  8892.     <summary>Represents the maximum possible longitude of 180 degrees.</summary>
  8893.     <remarks>
  8894.  This value of 180┬░W (also 180┬░E) marks the longitude located on the opposite side of the Earth from the
  8895.  Prime Meridian. It runs approximately through the
  8896.  <a href="http://greenwichmeridian.com/date-line.htm">International Date Line</a>
  8897.  (between Alaska and Russia).
  8898.  </remarks>
  8899. </member><member name="M:StormSource.Gps.Longitude.#ctor">
  8900.     <summary>Creates a new instance.</summary>
  8901. </member><member name="M:StormSource.Gps.Longitude.#ctor(StormSource.Gps.Angle)">
  8902.     <summary>
  8903.  Creates a new instance by upgrading the specified <strong>Angle</strong>
  8904.  object.
  8905.  </summary>
  8906.     <param name="angle">An <strong>Angle</strong> object to upgrade.</param>
  8907. </member><member name="M:StormSource.Gps.Longitude.#ctor(System.Double)">
  8908.     <summary>Creates a new instance with the specified decimal degrees.</summary>
  8909.     <remarks>
  8910.  This constructor will automatically assign a value to the
  8911.  <see cref="P:StormSource.Gps.Longitude.Hemisphere">Hemisphere</see> property depending on the
  8912.  value. A value less than zero is considered to be in the western hemisphere.
  8913.  </remarks>
  8914.     <param name="decimalDegrees">
  8915.  A <strong>Double</strong> to store in the <strong>DecimalDegrees</strong>
  8916.  property.
  8917.  </param>
  8918. </member><member name="M:StormSource.Gps.Longitude.#ctor(System.Double,StormSource.Gps.LongitudeHemisphere)">
  8919.     <summary>Creates a new instance using the specified decimal degrees and 
  8920.  hemisphere.</summary>
  8921.     <remarks>
  8922.         <para>This constructor is typically used to create a longitude when decimal degrees
  8923.      are always expressed as a positive number. Since the hemisphere property is set
  8924.      <em>after</em> the DecimalDegrees property is set, the DecimalDegrees is adjusted
  8925.      automatically to be positive for the eastern hemisphere and negative for the
  8926.      western hemisphere.</para>
  8927.         <para>If the parameters conflict with each other, the <strong>Hemisphere</strong>
  8928.      parameter takes precedence. Therefore, a value of "-19┬░E" will become "19┬░E"
  8929.      (without the negative sign) with no exception being thrown.</para>
  8930.     </remarks>
  8931.     <param name="decimalDegrees">
  8932.  A <strong>Double</strong> specifying a value for the
  8933.  <strong>DecimalDegrees</strong> property.
  8934.  </param>
  8935.     <param name="hemisphere">A value from the <strong>LatitudeHemisphere</strong> 
  8936.  enumeration.</param>
  8937. </member><member name="M:StormSource.Gps.Longitude.#ctor(System.Int32,System.Int32,System.Double)">
  8938.     <summary>Creates a new instance with the specified hours, minutes and 
  8939.  seconds.</summary>
  8940.     <param name="hours">An <strong>Integer</strong> specifying the number of hours.</param>
  8941.     <param name="minutes">An <strong>Integer</strong> specifying the number of 
  8942.  minutes.</param>
  8943.     <param name="seconds">An <strong>Double</strong> specifying the number of 
  8944.  seconds.</param>
  8945. </member><member name="M:StormSource.Gps.Longitude.#ctor(System.Int32,System.Int32,System.Double,StormSource.Gps.LongitudeHemisphere)">
  8946.     <summary>
  8947.  Creates a new longitude with the specified hours, minutes, seconds, and
  8948.  hemisphere.
  8949.  </summary>
  8950.     <param name="hours">An <strong>Integer</strong> specifying the number of hours.</param>
  8951.     <param name="minutes">An <strong>Integer</strong> specifying the number of 
  8952.  minutes.</param>
  8953. </member><member name="M:StormSource.Gps.Longitude.#ctor(System.Int32,System.Double)">
  8954.     <summary>Creates a new instance with the specified hours and decimal minutes.</summary>
  8955.     <param name="hours">An <strong>Integer</strong> specifying the number of hours.</param>
  8956. </member><member name="M:StormSource.Gps.Longitude.#ctor(System.Int32,System.Double,StormSource.Gps.LongitudeHemisphere)">
  8957.     <summary>
  8958.  Creates a new instance with the specified hours, decimal minutes, and
  8959.  hemisphere.
  8960.  </summary>
  8961.     <param name="hours">An <strong>Integer</strong> specifying the number of hours.</param>
  8962. </member><member name="M:StormSource.Gps.Longitude.#ctor(System.String)">
  8963.     <summary>Creates a new instance using the specified string-based measurement.</summary>
  8964.     <remarks>
  8965.         <para>A <strong>String</strong> in any of the following formats (or variation
  8966.      depending on the local culture):</para>
  8967.         <para>
  8968.             <table cellspacing="0" cols="4" cellpadding="2" width="100%">
  8969.                 <tbody>
  8970.                     <tr>
  8971.                         <td>hh</td>
  8972.                         <td>hh.h</td>
  8973.                         <td>hh mm</td>
  8974.                         <td>hh mm.mm</td>
  8975.                     </tr>
  8976.                     <tr>
  8977.                         <td>hh mm ss</td>
  8978.                         <td>hh mm ss.sss</td>
  8979.                         <td>hhi</td>
  8980.                         <td>hh.hi</td>
  8981.                     </tr>
  8982.                     <tr>
  8983.                         <td>hh mmi</td>
  8984.                         <td>hh mm i</td>
  8985.                         <td>hh mm.mi</td>
  8986.                         <td>hh mm.m i</td>
  8987.                     </tr>
  8988.                     <tr>
  8989.                         <td>hh mm ssi</td>
  8990.                         <td>hh mm ss i</td>
  8991.                         <td>hh mm ss.si</td>
  8992.                         <td>hh mm ss.s i</td>
  8993.                     </tr>
  8994.                     <tr>
  8995.                         <td>hhhmmssi</td>
  8996.                         <td></td>
  8997.                         <td></td>
  8998.                         <td></td>
  8999.                     </tr>
  9000.                 </tbody>
  9001.             </table>
  9002.         </para>
  9003.         <para>Where <strong>h</strong> represents hours, <strong>m</strong> represents
  9004.      minutes, <strong>s</strong> represents seconds, and <strong>i</strong> represents a
  9005.      one-letter hemisphere indicator of "E" or "W." Any non-numeric character between
  9006.      numbers is considered a delimiter. Thus, a value of <strong>12┬░34'56.78"</strong>
  9007.      or even <strong>12A34B56.78C</strong> is treated the same as <strong>12 34
  9008.      56.78</strong>.</para>
  9009.     </remarks>
  9010. </member><member name="M:StormSource.Gps.Longitude.Equals(StormSource.Gps.Angle)">
  9011.     <summary>Compares the current instance with the specified angle.</summary>
  9012.     <remarks>
  9013.  This comparison method allows a latitude to be compared with an Angle object or
  9014.  any of its derivatives, such as a <strong>Latitude</strong> object.
  9015.  </remarks>
  9016. </member><member name="M:StormSource.Gps.Longitude.Equals(StormSource.Gps.Longitude)">
  9017.     <summary>
  9018.  Compares the current instance with the specified <strong>Longitude</strong>
  9019.  object.
  9020.  </summary>
  9021. </member><member name="M:StormSource.Gps.Longitude.Equals(StormSource.Gps.Longitude,System.Int32)">
  9022.     <summary>
  9023.  Compares the current instance with the specified Longitude object, using the
  9024.  specified digits of precision.
  9025.  </summary>
  9026. </member><member name="M:StormSource.Gps.Longitude.Equals(System.Double)">
  9027.     <summary>Compares the current instance with the specified decimal degrees.</summary>
  9028. </member><member name="M:StormSource.Gps.Longitude.Equals(System.Double,System.Int32)">
  9029.     <summary>
  9030.  Compares the current instance with the specified decimal degrees, using the
  9031.  specified digits of precision.
  9032.  </summary>
  9033.     <remarks>
  9034.  This method is typically used to compare two longitude measurements which
  9035.  require
  9036.  </remarks>
  9037.     <param name="value">A <strong>Double</strong> indicating the value to compare 
  9038.  with.</param>
  9039.     <param name="precision">The number of digits to compare to the right of the decimal 
  9040.  separator.</param>
  9041. </member><member name="M:StormSource.Gps.Longitude.Equals(System.Object)">
  9042.     <summary>Compares the current instance to another arbitrary object.</summary>
  9043.     <param name="value">
  9044.  An <strong>Object</strong>. Typically a <strong>Double</strong> or Angle
  9045.  derivative.
  9046.  </param>
  9047. </member><member name="M:StormSource.Gps.Longitude.GetHashCode">
  9048.     <summary>Returns a number which uniquely identifies the current instance.</summary>
  9049.     <remarks>
  9050.  This method returns the same value as
  9051.  <strong>DecimalDegrees.GetHashcode()</strong>.
  9052.  </remarks>
  9053. </member><member name="M:StormSource.Gps.Longitude.Normalize(System.Int32)">
  9054.     <summary>Adjusts a longitude to lie within zero and 180 degrees.</summary>
  9055.     <remarks>
  9056.         <para>This function is used to ensure that an angular measurement is within the
  9057.      allowed bounds of 0┬░ and 180┬░. If a value of 360┬░ or 720┬░ is passed, a value of 0┬░
  9058.      is returned since traveling around the Earth 360┬░ or 720┬░ brings you to the same
  9059.      place you started.</para>
  9060.         <para>NOTE: Normalization is performed automatically when assigning a new value to
  9061.      the <see cref="P:StormSource.Gps.Longitude.DecimalDegrees">DecimalDegrees</see> or
  9062.      <see cref="P:StormSource.Gps.Longitude.Hours">Hours</see> property.</para>
  9063.     </remarks>
  9064.     <param name="value">An <strong>Integer</strong> specifying a value to 
  9065.  normalize.</param>
  9066. </member><member name="M:StormSource.Gps.Longitude.Normalize(System.Double)">
  9067.     <remarks>
  9068.         <para>This function is used to ensure that an angular measurement is within the
  9069.      allowed bounds of 0┬░ and 180┬░. If a value of 360┬░ or 720┬░ is passed, a value of 0┬░
  9070.      is returned since traveling around the Earth 360┬░ or 720┬░ brings you to the same
  9071.      place you started.</para>
  9072.         <para>NOTE: Normalization is performed automatically when assigning a new value to
  9073.      the <see cref="P:StormSource.Gps.Longitude.DecimalDegrees">DecimalDegrees</see> or
  9074.      <see cref="P:StormSource.Gps.Longitude.Hours">Hours</see> property.</para>
  9075.     </remarks>
  9076. </member><member name="M:StormSource.Gps.Longitude.Normalize(StormSource.Gps.Longitude)">
  9077.     <remarks>
  9078.         <para>This function is used to ensure that an angular measurement is within the
  9079.      allowed bounds of 0┬░ and 180┬░. If a value of 360┬░ or 720┬░ is passed, a value of 0┬░
  9080.      is returned since traveling around the Earth 360┬░ or 720┬░ brings you to the same
  9081.      place you started.</para>
  9082.         <para>NOTE: Normalization is performed automatically when assigning a new value to
  9083.      the <see cref="P:StormSource.Gps.Longitude.DecimalDegrees">DecimalDegrees</see> or
  9084.      <see cref="P:StormSource.Gps.Longitude.Hours">Hours</see> property.</para>
  9085.     </remarks>
  9086.     <returns>A <strong>Longitude</strong> containing the normalized value.</returns>
  9087. </member><member name="M:StormSource.Gps.Longitude.Clone">
  9088.     <summary>Creates a mutable copy of the current instance.</summary>
  9089.     <remarks>
  9090.  The cloned object shares the same value for the
  9091.  <see cref="P:StormSource.Gps.Longitude.DecimalDegrees">DecimalDegrees</see>
  9092.  property. The <see cref="P:StormSource.Gps.Longitude.IsImmutable">immutable</see>
  9093.  setting is not copied, thus allowing this method to make a writable (mutable) copy of a
  9094.  read-only shared field.
  9095.  </remarks>
  9096.     <returns>A <strong>Latitude</strong> equivalent to the current instance.</returns>
  9097. </member><member name="P:StormSource.Gps.Longitude.CurrentLongitude">
  9098.     <summary>Returns the current longitude reported by the GPS device.</summary>
  9099.     <remarks>
  9100.  This property is equivalent to polling the Longitude property of the Position
  9101.  property of the Receiver class.
  9102.  </remarks>
  9103.     <value>
  9104.  A <strong>Longitude</strong> containing the longitude of the current
  9105.  position.
  9106.  </value>
  9107. </member><member name="P:StormSource.Gps.Longitude.DecimalDegrees">
  9108.     <summary>Represents hours, minutes and/or seconds as a single numeric value.</summary>
  9109.     <remarks>
  9110.  This property is typically used when a measurement does not need to be specified
  9111.  as individual hours, minutes and seconds. Changing this property causes the
  9112.  <see cref="E:StormSource.Gps.Angle.DecimalDegreesChanged(System.Object,StormSource.Gps.AngleEventArgs)">
  9113.  DecimalDegreesChanged</see> event to be raised, and the
  9114.  <see cref="P:StormSource.Gps.Longitude.Hours">Hours</see>,
  9115.  <see cref="P:StormSource.Gps.Angle.Minutes">Minutes</see> Hemisphere, and
  9116.  <see cref="P:StormSource.Gps.Angle.Seconds">Seconds</see> properties are automatically
  9117.  recalculated.
  9118.  </remarks>
  9119.     <value>A <strong>Double</strong> value.</value>
  9120. </member><member name="P:StormSource.Gps.Longitude.Hours">
  9121.     <value>An <strong>Integer</strong> value.</value>
  9122.     <summary>Returns the integer hours (degrees) portion of an angular 
  9123.  measurement.</summary>
  9124.     <exception cref="T:StormSource.Gps.ImmutableObjectException" caption="ImmutableObjectException">Thrown if the object was created
  9125.  with the IsImmutable flag set.  This is typically thrown when attempting to modify a 
  9126.  shared member.</exception>
  9127.     <remarks>
  9128.         <para>When this value changes, the HoursChanged event is raised, and the
  9129.      DecimalDegrees property is recalculated. If this property is assigned to a value
  9130.      outside the allowed minimum and maximum, the value will automatically be
  9131.      <see cref="M:StormSource.Gps.Longitude.Normalize(System.Int32)">normalized</see>.</para>
  9132.     </remarks>
  9133. </member><member name="P:StormSource.Gps.Longitude.IsImmutable">
  9134.     <summary>Indicates if the current instance is read-only.</summary>
  9135.     <returns>An object is considered immutable if it's value(s) cannot be changed.  This is set to True for any shared fields in this class.</returns>
  9136.     <remarks>
  9137.  An object is considered "immutable" if it's properties cannot be modified in any
  9138.  way. 
  9139.  </remarks>
  9140. </member><member name="P:StormSource.Gps.Longitude.Hemisphere">
  9141.     <summary>Indicates if the longitude is east or west of the Prime Meridian.</summary>
  9142.     <remarks>
  9143.         <para>When this property changes, the DecimalDegrees property is adjusted: if the
  9144.      hemisphere is <strong>West</strong>, a negative sign is placed in front of the
  9145.      DecimalDegrees value, and vice versa.</para>
  9146.     </remarks>
  9147. </member><member name="M:StormSource.Gps.Longitude.Parse(System.String)">
  9148.     <summary>Converts a string-based latitude into a Latitude object.</summary>
  9149.     <param name="value">
  9150.         <para>A <strong>String</strong> in any of the following formats (or variation
  9151.      depending on the local culture):</para>
  9152.         <para>
  9153.             <table cellspacing="0" cols="4" cellpadding="2" width="100%">
  9154.                 <tbody>
  9155.                     <tr>
  9156.                         <td>hh</td>
  9157.                         <td>hh.h</td>
  9158.                         <td>hh mm</td>
  9159.                         <td>hh mm.mm</td>
  9160.                     </tr>
  9161.                     <tr>
  9162.                         <td>hh mm ss</td>
  9163.                         <td>hh mm ss.sss</td>
  9164.                         <td>hhi</td>
  9165.                         <td>hh.hi</td>
  9166.                     </tr>
  9167.                     <tr>
  9168.                         <td>hh mmi</td>
  9169.                         <td>hh mm i</td>
  9170.                         <td>hh mm.mi</td>
  9171.                         <td>hh mm.m i</td>
  9172.                     </tr>
  9173.                     <tr>
  9174.                         <td>hh mm ssi</td>
  9175.                         <td>hh mm ss i</td>
  9176.                         <td>hh mm ss.si</td>
  9177.                         <td>hh mm ss.s i</td>
  9178.                     </tr>
  9179.                     <tr>
  9180.                         <td>hhhmmssi</td>
  9181.                         <td></td>
  9182.                         <td></td>
  9183.                         <td></td>
  9184.                     </tr>
  9185.                 </tbody>
  9186.             </table>
  9187.         </para>
  9188.         <para>Where <strong>h</strong> represents hours, <strong>m</strong> represents
  9189.      minutes, <strong>s</strong> represents seconds, and <strong>i</strong> represents a
  9190.      one-letter hemisphere indicator of "E" or "W." Any non-numeric character between
  9191.      numbers is considered a delimiter. Thus, a value of <strong>12┬░34'56.78"</strong>
  9192.      or even <strong>12A34B56.78C</strong> is treated the same as <strong>12 34
  9193.      56.78</strong>.</para>
  9194.     </param>
  9195.     <remarks>
  9196.         <para>This powerful method is typically used to process data from a data store or a
  9197.      value input by the user. This function can accept any format which can be output by
  9198.      the <see cref="M:StormSource.Gps.Angle.ToString">ToString</see> method.</para>
  9199.     </remarks>
  9200.     <returns>A <strong>Latitude</strong> object equivalent to the specified 
  9201.  string.</returns>
  9202. </member><member name="M:StormSource.Gps.Longitude.ToString">
  9203.     <summary>Outputs the current instance in the form of a string.</summary>
  9204.     <remarks>
  9205.  This method will output the current instance using a default format of
  9206.  <strong>HHH┬░MM'SS.SS"I</strong> (or a variation depending on the local culture), where
  9207.  <strong>H</strong> represents Hours, <strong>M</strong> represents minutes,
  9208.  <strong>S</strong> represents seconds, and <strong>I</strong> is a one-letter
  9209.  hemisphere indicator.
  9210.  </remarks>
  9211. </member><member name="M:StormSource.Gps.Longitude.ToString(System.String)">
  9212.     <remarks>
  9213.         <para>This powerful method returns the current angular measurement in a specific
  9214.      format. If no value for the format is specified, a format of
  9215.      <strong>HHH┬░MM'SS.SS"I</strong> (adjusted to the current culture) will be used. The
  9216.      resulting <strong>String</strong> can be converted back into an
  9217.      <strong>Longitude</strong> via the
  9218.      <see href="Angle.Parse">Parse</see> method so long as a delimiter separates each individual
  9219.      value.</para>
  9220.     </remarks>
  9221.     <param name="format">
  9222.         <para>A combination of symbols, spaces, and any of the following case-insensitive
  9223.      letters: <strong>D</strong> or <strong>H</strong> for hours, <strong>M</strong> for
  9224.      minutes, <strong>S</strong> for seconds, and <strong>I</strong> to indicate the
  9225.      hemisphere. Here are some examples:</para>
  9226.         <para>
  9227.             <table cellspacing="0" cols="3" cellpadding="2" width="100%">
  9228.                 <tbody>
  9229.                     <tr>
  9230.                         <td>HH┬░MM'SS.SS"</td>
  9231.                         <td>HHH.H┬░</td>
  9232.                         <td>HH MM.MM</td>
  9233.                         <td>HHHMMSS</td>
  9234.                     </tr>
  9235.                     <tr>
  9236.                         <td>HH┬░MM'SS.SS"I</td>
  9237.                         <td>HHH.H┬░I</td>
  9238.                         <td>HH MM.MMI</td>
  9239.                         <td>HHHMMSSI</td>
  9240.                     </tr>
  9241.                 </tbody>
  9242.             </table>
  9243.         </para>
  9244.     </param>
  9245.     <summary>Outputs the current instance as a string using the specified format.</summary>
  9246.     <returns>A <strong>String</strong> matching the specified format.</returns>
  9247. </member><member name="M:StormSource.Gps.Longitude.ToString(System.String,System.IFormatProvider)">
  9248.     <summary>
  9249.  Outputs the current instance as a string using the specified format and
  9250.  culture.
  9251.  </summary>
  9252.     <param name="format">
  9253.         <para>A combination of symbols, spaces, and any of the following case-insensitive
  9254.      letters: <strong>D</strong> or <strong>H</strong> for hours, <strong>M</strong> for
  9255.      minutes, <strong>S</strong> for seconds, and <strong>I</strong> to indicate the
  9256.      hemisphere. Here are some examples:</para>
  9257.         <para>
  9258.             <table cellspacing="0" cols="3" cellpadding="2" width="100%">
  9259.                 <tbody>
  9260.                     <tr>
  9261.                         <td>HH┬░MM'SS.SS"</td>
  9262.                         <td>HHH.H┬░</td>
  9263.                         <td>HH MM.MM</td>
  9264.                         <td>HHHMMSS</td>
  9265.                     </tr>
  9266.                     <tr>
  9267.                         <td>HH┬░MM'SS.SS"I</td>
  9268.                         <td>HHH.H┬░I</td>
  9269.                         <td>HH MM.MMI</td>
  9270.                         <td>HHHMMSSI</td>
  9271.                     </tr>
  9272.                 </tbody>
  9273.             </table>
  9274.         </para>
  9275.     </param>
  9276.     <param name="formatProvider">
  9277.      An <strong>IFormatProvider</strong> object specifying a culture to apply during
  9278.      formatting.
  9279.  </param>
  9280.     <returns>A <strong>String</strong> matching the specified format.</returns>
  9281.     <remarks>
  9282.         <para>This powerful method returns the current angular measurement in a specific
  9283.      format. If no value for the format is specified, a format of
  9284.      <strong>HHH┬░MM'SS.SS"I</strong> (adjusted to the current culture) will be used. The
  9285.      resulting <strong>String</strong> can be converted back into an
  9286.      <strong>Longitude</strong> via the <see href="Angle.Parse">Parse</see> method so 
  9287.      long as a delimiter separates each individual value.</para>
  9288.     </remarks>
  9289. </member><member name="M:StormSource.Gps.Longitude.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  9290.     <summary>Populates the current instance from serialized data.</summary>
  9291. </member><member name="T:StormSource.Gps.Longitude">
  9292.     <summary>
  9293.  Represents a line of constant distance east or west from the Prime Meridian.
  9294.  </summary>
  9295.     <remarks>
  9296.         <para>The Prime Meridian is a line which passes through the
  9297.      <see href="http://www.nmm.ac.uk/">Royal Observatory in Greenwich, England</see>.
  9298.      Longitude measurements are paired with
  9299.      <see href="Latitude">latitude</see>
  9300.      measurements to specify a specific
  9301.      <see href="StormSource.Gps.Position">position</see>
  9302.      on Earth's surface. Longitudes can range from -180┬░ (through the eastern tip of
  9303.      Russia) to 180┬░ (the same as -180┬░), with 0┬░ at the Prime Meridian.</para>
  9304.         <para>
  9305.             <para>If a longitude is west of the Prime Meridian, it is considered to be in
  9306.          the western hemisphere and can also be expressed as a positive number with a
  9307.          one-letter indicator of "W" (West) or "E" (East). For example, a longitude of
  9308.          "-105┬░" can also be expressed as "105┬░W". A longitude east of the Prime
  9309.          Meridian is always positive (i.e. "105┬░E")</para>
  9310.             <para>This diagram shows lines of longitude on the Earth's surface:</para>
  9311.             <para><img src="Longitude.jpg"/></para>
  9312.         </para>
  9313.     </remarks>
  9314.     <seealso cref="T:StormSource.Gps.Latitude">Latitude C:\Source\StormSource\GPS.NET Global Positioning SDK\Version 1.4\Framework 1.1\Latitude.vb
  9315.  Class</seealso>C:\Source\StormSource\GPS.NET Global Positioning SDK\Version 1.4\Framework 1.1\Latitude.vb
  9316.  <seealso cref="T:StormSource.Gps.Position">Position 
  9317.  Class</seealso>
  9318. </member><member name="E:StormSource.Gps.DilutionOfPrecision.ValueChanged(System.Object,StormSource.Gps.DilutionOfPrecisionEventArgs)">
  9319.     <summary>Occurs when the <see cref="P:StormSource.Gps.DilutionOfPrecision.Value">Value</see> property has changed.</summary>
  9320.     <remarks>
  9321.  This event is typically used to monitor changes in the confidence level of
  9322.  latitude and longitude, altitude, or both.
  9323.  </remarks>
  9324.     <example>
  9325.  This example demonstrates how to monitor for changes in precision as it relates to altitude
  9326.  using the ValueChanged event.
  9327.  <code lang="VB">
  9328.  Private WithEvents MyReceiver As New Receiver()
  9329.  Private OldVDOPValue As Integer
  9330.   
  9331.  ' Occurs when the Value property has changed
  9332.  Private Sub OnVDOPChanged(ByVal sender As Object, ByVal e As DilutionOfPrecisionEventArgs) Handles MyReceiver.HorizontalDilutionOfPrecisionChanged
  9333.      ' Is the confidence level better or worse?
  9334.      If e.DilutionOfPrecision.Value < OldVDOPValue Then
  9335.          ' Better!  Take a reading
  9336.          Debug.WriteLine("Altitude measurements have become less precise.")
  9337.      Else
  9338.          ' Worse.  Wait for it to be better before taking a reading
  9339.          Debug.WriteLine("Altitude measurements have become less precise.  Try to move into a more open view of the sky.")
  9340.      End If
  9341.      ' Remember this new value for the next time the event is raised
  9342.      OldVDOPValue = e.DilutionOfPrecision.Value
  9343.  End Sub
  9344.  </code>
  9345.         <code lang="C#">
  9346.  Receiver MyReceiver = new Receiver();
  9347.  int OldVDOPValue;
  9348.   
  9349.  // Occurs when the Value property has changed
  9350.  void OnVDOPChanged(Object sender, DilutionOfPrecisionEventArgs e)
  9351.  {
  9352.      // Is the confidence level better or worse?
  9353.      if (e.DilutionOfPrecision.Value < OldVDOPValue)
  9354.      {
  9355.          // Better!  Take a reading
  9356.          Debug.WriteLine("Altitude measurements have become less precise.");
  9357.      }
  9358.      else
  9359.      {
  9360.          // Worse.  Wait for it to be better before taking a reading
  9361.          Debug.WriteLine("Altitude measurements have become less precise.  Try to move into a more open view of the sky.");
  9362.      }
  9363.      // Remember this new value for the next time the event is raised
  9364.      OldVDOPValue = e.DilutionOfPrecision.Value;
  9365.  }
  9366.  </code>
  9367.     </example>
  9368.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.Value">Value Property</seealso>
  9369.     <seealso cref="E:StormSource.Gps.DilutionOfPrecision.RatingChanged(System.Object,StormSource.Gps.DilutionOfPrecisionEventArgs)">RatingChanged Event</seealso>
  9370. </member><member name="E:StormSource.Gps.DilutionOfPrecision.RatingChanged(System.Object,StormSource.Gps.DilutionOfPrecisionEventArgs)">
  9371.     <summary>Occurs when the <see cref="P:StormSource.Gps.DilutionOfPrecision.Rating">Rating</see> property has changed.</summary>
  9372.     <remarks>
  9373.  This event is typically used to detect significant changes in precision,
  9374.  versus the <see cref="E:StormSource.Gps.DilutionOfPrecision.ValueChanged(System.Object,StormSource.Gps.DilutionOfPrecisionEventArgs)">ValueChanged</see> event which 
  9375.  reports minute changes in a confidence level. Use this event as a general indicator of 
  9376.  when it is safe or not to make business decisions based on positional measurements.
  9377.  </remarks>
  9378.     <example>
  9379.  This example demonstrates how to monitor for large changes in precision as it relates 
  9380.  to the current location using the RatingChanged event.
  9381.  <code lang="VB">
  9382.  ' Capture the events of the horizontal DOP object
  9383.  Private WithEvents MyDOP As DilutionOfPrecision = Receiver.HorizontalDilutionOfPrecision
  9384.   
  9385.  ' Occurs when the Rating property has changed
  9386.  Private Sub OnRatingChanged(ByVal sender As Object, ByVal e As DilutionOfPrecisionEventArgs) Handles MyDOP.RatingChanged
  9387.      ' Is the confidence level better or worse?
  9388.      Select Case e.DilutionOfPrecision.Rating
  9389.          Case DilutionOfPrecisionRating.Poor, DilutionOfPrecisionRating.Fair
  9390.              ' Poor precision.  Could be much better
  9391.          Case Else
  9392.              ' Good to Ideal precision
  9393.      End Case
  9394.  End Sub
  9395.  </code>
  9396.         <code lang="C#">
  9397.  // Capture the events of the horizontal DOP object
  9398.  DilutionOfPrecision MyDOP = Receiver.HorizontalDilutionOfPrecision;
  9399.   
  9400.  // Occurs when the Rating property has changed
  9401.  void OnRatingChanged(Object sender, DilutionOfPrecisionEventArgs e)
  9402.  {
  9403.      // Is the confidence level better or worse?
  9404.      switch(e.DilutionOfPrecision.Rating)
  9405.      {
  9406.          case DilutionOfPrecisionRating.Poor:
  9407.              // Poor precision.  Could be much better
  9408.              break;
  9409.          case DilutionOfPrecisionRating.Fair:
  9410.              // Poor precision.  Could be much better
  9411.              break;
  9412.          default:
  9413.              // Good to Ideal precision
  9414.              break;
  9415.      }
  9416.  }
  9417.  </code>
  9418.     </example>
  9419.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.Rating">Rating Property</seealso>
  9420.     <seealso cref="E:StormSource.Gps.DilutionOfPrecision.ValueChanged(System.Object,StormSource.Gps.DilutionOfPrecisionEventArgs)">ValueChanged Event</seealso>
  9421. </member><member name="M:StormSource.Gps.DilutionOfPrecision.#ctor(StormSource.Gps.DilutionOfPrecisionType)">
  9422.     <summary>Creates a new instance of a mean, horizontal or vertical DOP reading.</summary>
  9423.     <remarks>
  9424.  This constructor has been provided for special cases where a DOP reading must be
  9425.  stored outside of the GPS.NET framework. For most applications, using DilutionOfPrecision
  9426.  objects created automatically will be sufficient.
  9427.  </remarks>
  9428.     <param name="type">
  9429.  A <see cref="T:StormSource.Gps.DilutionOfPrecisionType">DilutionOfPrecisionType</see> value indicating 
  9430.  the kind of DOP measurement.
  9431.  </param>
  9432.     <example>
  9433.  This example creates a new DOP measurement using this constructor.
  9434.  <code lang="VB">
  9435.  Dim MyDOP As New DilutionOfPrecision(DilutionOfPrecisionType.Horizontal)
  9436.  </code>
  9437.         <code lang="C#">
  9438.  DilutionOfPrecision MyDOP = new DilutionOfPrecision(DilutionOfPrecisionType.Horizontal);
  9439.  </code>
  9440.     </example>
  9441.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.Type">Type Property</seealso>
  9442. </member><member name="M:StormSource.Gps.DilutionOfPrecision.#ctor(StormSource.Gps.DilutionOfPrecisionType,System.Double)">
  9443.     <summary>
  9444.  Creates a new instance of a mean, horizontal or vertical DOP reading with the
  9445.  specified value.
  9446.  </summary>
  9447.     <remarks>
  9448.  This constructor is typically used for special cases when a custom DOP reading
  9449.  must be created, such as for loading previously-saved DOP data. For most applications,
  9450.  creating a new <strong>DilutionOfPrecision</strong> object is not necessary.
  9451.  </remarks>
  9452.     <exception cref="T:System.ArgumentOutOfRangeException" caption="ArgumentOutOfRangeException">Dilution of precision values 
  9453.  must be 1, 50, or any integer in between.</exception>
  9454.     <param name="type">
  9455.  A
  9456.  <see cref="T:StormSource.Gps.DilutionOfPrecisionType">
  9457.  DilutionOfPrecisionType</see> value indicating the kind of DOP measurement.
  9458.  </param>
  9459.     <param name="Value">
  9460.  An <strong>Integer</strong> between 1 and 50 to be stored in the
  9461.  <see cref="P:StormSource.Gps.DilutionOfPrecision.Value">
  9462.  Value</see> property.
  9463.  </param>
  9464.     <example>
  9465.  This example creates a new horizontal DOP measurement of ten using this constructor.
  9466.  <code lang="VB">
  9467.  Dim MyDOP As New DilutionOfPrecision(DilutionOfPrecisionType.Horizontal, 10.0)
  9468.  </code>
  9469.         <code lang="C#">
  9470.  DilutionOfPrecision MyDOP = new DilutionOfPrecision(DilutionOfPrecisionType.Horizontal, 10.0);
  9471.  </code>
  9472.     </example>
  9473.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.Type">Type Property</seealso>
  9474.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.Value">Value Property</seealso>
  9475. </member><member name="P:StormSource.Gps.DilutionOfPrecision.CurrentHorizontal">
  9476.     <remarks>
  9477.  This property is typically used to check for the confidence level in latitude and
  9478.  longitude measurements without requiring an instance of an object. This property is
  9479.  updated automatically as new information is received from the GPS device.
  9480.  </remarks>
  9481.     <value>Read only. A <strong>DilutionOfPrecision</strong> object.</value>
  9482.     <summary>Returns the confidence level of latitude and longitude measurements.</summary>
  9483.     <example>
  9484.  This example demonstrates how to high-precision applications enforce precision by reading 
  9485.  the current position only if ideal HDOP is in progress.  
  9486.  <code lang="VB">
  9487.  ' Is ideal precision present right now?
  9488.  If DilutionOfPrecision.CurrentHorizontal.Rating = DilutionOfPrecisionRating.Ideal Then
  9489.      ' Yes.  Output the current position
  9490.      Debug.WriteLine(Position.CurrentPosition.ToString)
  9491.  Else
  9492.      ' No.  The current position is not accurate enough to work with
  9493.  End If
  9494.  </code>
  9495.         <code lang="C#">
  9496.  // Is ideal precision present right now?
  9497.  if (DilutionOfPrecision.CurrentHorizontal.Rating == DilutionOfPrecisionRating.Ideal)
  9498.  {
  9499.      // Yes.  Output the current position
  9500.      Debug.WriteLine(Position.CurrentPosition.ToString());
  9501.  }
  9502.  else
  9503.  {
  9504.      // No.  The current position is not accurate enough to work with
  9505.  }
  9506.  </code>
  9507.     </example>
  9508.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.CurrentVertical">CurrentVertical Property</seealso>
  9509.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.CurrentMean">CurrentMean Property</seealso>
  9510. </member><member name="P:StormSource.Gps.DilutionOfPrecision.CurrentVertical">
  9511.     <remarks>
  9512.  This property is typically used to check for the confidence level in altitude
  9513.  measurements without instantiating an object. This property is updated automatically as
  9514.  new information is received from the GPS device.
  9515.  </remarks>
  9516.     <value>Read only. A <strong>DilutionOfPrecision</strong> object.</value>
  9517.     <summary>Returns the confidence level of altitude measurements.</summary>
  9518.     <example>
  9519.  This example demonstrates how to high-precision applications enforce precision by reading 
  9520.  the current altitude only if ideal VDOP is in progress.  
  9521.  <code lang="VB">
  9522.  ' Is ideal precision present right now?
  9523.  If DilutionOfPrecision.CurrentVertical.Rating = DilutionOfPrecisionRating.Ideal Then
  9524.      ' Yes.  Output the current altitude above sea level
  9525.      Debug.WriteLine(Distance.CurrentAltitude.ToString)
  9526.  Else
  9527.      ' No.  The current altitude is not accurate enough to work with
  9528.  End If
  9529.  </code>
  9530.         <code lang="C#">
  9531.  // Is ideal precision present right now?
  9532.  if (DilutionOfPrecision.CurrentVertical.Rating == DilutionOfPrecisionRating.Ideal)
  9533.  {
  9534.      // Yes.  Output the current altitude above sea level
  9535.      Debug.WriteLine(Distance.CurrentAltitude.ToString());
  9536.  }
  9537.  else
  9538.  {
  9539.      // No.  The current altitude is not accurate enough to work with
  9540.  }
  9541.  </code>
  9542.     </example>
  9543.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.CurrentHorizontal">CurrentHorizontal Property</seealso>
  9544.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.CurrentMean">CurrentMean Property</seealso>
  9545. </member><member name="P:StormSource.Gps.DilutionOfPrecision.CurrentMean">
  9546.     <summary>Returns the current average confidence level in positional 
  9547.  measurements.</summary>
  9548.     <value>Read only. A <strong>DilutionOfPrecision</strong> object.</value>
  9549.     <remarks>
  9550.  This property is typically used to check for the overall confidence level in
  9551.  latitude, longitude and altitude measurements without instantiating an object. This
  9552.  property is updated automatically as new information is received from the GPS
  9553.  device.
  9554.  </remarks>
  9555.     <example>
  9556.  This example demonstrates how to high-precision applications enforce precision by reading 
  9557.  the current altitude only if ideal VDOP is in progress.  
  9558.  <code lang="VB">
  9559.  ' Is ideal precision present right now?
  9560.  If DilutionOfPrecision.CurrentMean.Rating = DilutionOfPrecisionRating.Ideal Then
  9561.      ' Yes.  Output the current position and altitude above sea level
  9562.      Debug.WriteLine(Position.CurrentPosition.ToString)
  9563.      Debug.WriteLine(Distance.CurrentAltitude.ToString)
  9564.  Else
  9565.      ' No.  The current altitude is not accurate enough to work with
  9566.  End If
  9567.  </code>
  9568.         <code lang="C#">
  9569.  // Is ideal precision present right now?
  9570.  if (DilutionOfPrecision.CurrentMean.Rating == DilutionOfPrecisionRating.Ideal)
  9571.  {
  9572.      // Yes.  Output the current altitude above sea level
  9573.      Debug.WriteLine(Position.CurrentPosition.ToString());
  9574.      Debug.WriteLine(Distance.CurrentAltitude.ToString());
  9575.  }
  9576.  else
  9577.  {
  9578.      // No.  The current altitude is not accurate enough to work with
  9579.  }
  9580.  </code>
  9581.     </example>
  9582.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.CurrentVertical">CurrentVertical Property</seealso>
  9583.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.CurrentHorizontal">CurrentHorizontal Property</seealso>
  9584. </member><member name="M:StormSource.Gps.DilutionOfPrecision.Equals(StormSource.Gps.DilutionOfPrecision)">
  9585.     <summary>
  9586.  Compares the current instance to another DilutionOfPrecision object.
  9587.  </summary>
  9588.     <param name="value"></param>
  9589.     <returns></returns>
  9590. </member><member name="M:StormSource.Gps.DilutionOfPrecision.Equals(StormSource.Gps.DilutionOfPrecisionRating)">
  9591.     <summary>
  9592.  Compares the current instance with the specified in-English rating.
  9593.  </summary>
  9594.     <param name="value"></param>
  9595.     <returns></returns>
  9596. </member><member name="M:StormSource.Gps.DilutionOfPrecision.Equals(System.Object)">
  9597.     <summary>
  9598.  Compares the current instance with the specified object.
  9599.  </summary>
  9600.     <param name="value"></param>
  9601.     <returns></returns>
  9602. </member><member name="M:StormSource.Gps.DilutionOfPrecision.GetHashCode">
  9603.     <summary>
  9604.  Returns a unique code for this object used for hash tables.
  9605.  </summary>
  9606.     <returns></returns>
  9607. </member><member name="M:StormSource.Gps.DilutionOfPrecision.Equals(System.Double)">
  9608.     <summary>
  9609.  Compares the current instance to the specified DOP value.
  9610.  </summary>
  9611.     <param name="value"></param>
  9612.     <returns></returns>
  9613. </member><member name="P:StormSource.Gps.DilutionOfPrecision.Rating">
  9614.     <summary>Returns an in-English interpretation of a dilution of precision measurement.</summary>
  9615.     <value>
  9616.  Read only. A value from the <see cref="T:StormSource.Gps.DilutionOfPrecisionRating">DilutionOfPrecisionRating</see> 
  9617.  enumeration.
  9618.  </value>
  9619.     <remarks>
  9620.         <para>This property is provided to simplify the process of learing about DOP and
  9621.  enforcing minimum precision in applications.  This property can also create more readable
  9622.  code. The possible values of this property are as follows:</para>
  9623.         <table width="90%" cellpadding="2" cellspacing="1" border="1">
  9624.             <tr>
  9625.                 <td><strong>Rating</strong></td>
  9626.                 <td><strong>Range</strong></td>
  9627.                 <td><strong>Description</strong></td>
  9628.             </tr>
  9629.             <tr>
  9630.                 <td><strong>Ideal</strong></td>
  9631.                 <td>1</td>
  9632.                 <td>This is the highest possible confidence level to be used for applications demanding 
  9633.  the highest possible precision at all times.  The receiver probably has an almost
  9634.  completely unobstructed view of the sky (no nearby buildings or other tall objects).
  9635.  This level of accuracy is unrealistic for most applications.</td>
  9636.             </tr>
  9637.             <tr>
  9638.                 <td><strong>Excellent</strong></td>
  9639.                 <td>2-3</td>
  9640.                 <td>At this confidence level, positional measurements are considered accurate enough 
  9641.  to meet all but the most sensitive surveying applications.  The receiver has multiple
  9642.  satellite acquired from various positions in the sky.</td>
  9643.             </tr>
  9644.             <tr>
  9645.                 <td><strong>Good</strong></td>
  9646.                 <td>4-6</td>
  9647.                 <td>Represents a confidence level that is appropriate for most business decisions. At 
  9648.  this level, positional measurements could be used to make reliable in-route navigation 
  9649.  suggestions to the user. Satellites involved in a fix are probably distributed evenly 
  9650.  throughout the sky.</td>
  9651.             </tr>
  9652.             <tr>
  9653.                 <td><strong>Moderate</strong></td>
  9654.                 <td>7-8</td>
  9655.                 <td>Represents a medium confidence level. Positional measurements could be used for 
  9656.  calculations, but the fix quality could still be improved.  Advise to the user to 
  9657.  find a more open view of the sky or wait for more satellites to join the fix is 
  9658.  recommended.</td>
  9659.             </tr>
  9660.             <tr>
  9661.                 <td><strong>Fair</strong></td>
  9662.                 <td>9-20</td>
  9663.                 <td>Represents a low confidence level. Positional measurements can be used for only 
  9664.  general purposes: displaying the approximate location, approximate distance.</td>
  9665.             </tr>
  9666.             <tr>
  9667.                 <td><strong>Poor</strong></td>
  9668.                 <td>21-50</td>
  9669.                 <td>Represents the minimum confidence level. The satellite fix, if present, is 
  9670.  unstable. The current position should be reported only to show approximate location.</td>
  9671.             </tr>
  9672.         </table>
  9673.         <para>This property is updated automatically when the <see cref="P:StormSource.Gps.DilutionOfPrecision.Value">Value</see>
  9674.  property changes.</para>
  9675.     </remarks>
  9676.     <example>
  9677.  This example demonstrates how an application could enfore a minimum 
  9678.  confidence level. A variable stores the most recent position which meets the required 
  9679.  level, and the Rating property is used to either discard the new value and keep the 
  9680.  existing one, or to update the variable to the new value. Note that you can use 
  9681.  less-than-or-equal-to operators since enumerative values have integer values as well.
  9682.  <code lang="VB">
  9683.  Dim WithEvents GPS As New Receiver()
  9684.  Dim CurrentAcceptablePosition As Position
  9685.  Dim MinimumRequiredConfidence As DilutionOfPrecisionRating = 
  9686.  DilutionOfPrecisionRating.Good
  9687.   
  9688.  ' Occurs whenever the current position has changed
  9689.  Private Sub OnPositionChanged(ByVal sender As Object, ByVal e As PositionEventArgs) Handles GPS.PositionChanged
  9690.      ' Is the current accuracy level good enough?
  9691.      If GPS.MeanDilutionOfPrecision.Rating <= MinimumRequiredConfidence Then
  9692.          ' Yes. Update the position
  9693.          CurrentAcceptablePosition = e.Position
  9694.      Else
  9695.          ' No.  Do not update the variable, and ignore the new position        
  9696.      End If
  9697.  End Sub
  9698.  </code>
  9699.         <code lang="C#">
  9700.  Receiver GPS = new Receiver();
  9701.  Position CurrentAcceptablePosition;
  9702.  DilutionOfPrecisionRating MinimumRequiredConfidence = DilutionOfPrecisionRating.Good;
  9703.   
  9704.  // Occurs whenever the current position has changed
  9705.  void OnPositionChanged(Object sender, PositionEventArgs e)
  9706.  {
  9707.      // Is the current accuracy level good enough?
  9708.      if (GPS.MeanDilutionOfPrecision.Rating <= MinimumRequiredConfidence)
  9709.      {
  9710.          // Yes. Update the position
  9711.          CurrentAcceptablePosition = e.Position
  9712.      }
  9713.      else
  9714.      {
  9715.          // No.  Do not update the variable, and ignore the new position        
  9716.      }
  9717.  }
  9718.  </code>
  9719.     </example>
  9720.     <seealso cref="T:StormSource.Gps.DilutionOfPrecisionRating">DilutionOfPrecisionRating Enumeration</seealso>
  9721.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.Value">Value Property</seealso>
  9722. </member><member name="P:StormSource.Gps.DilutionOfPrecision.Type">
  9723.     <summary>
  9724.  Identifies whether the object is describing mean, horizontal or vertical dilution
  9725.  of precision.
  9726.  </summary>
  9727.     <value>
  9728.  A value from the
  9729.  <see href="StormSource.Gps.DilutionOfPrecisionType">
  9730.  DilutionOfPrecisionType</see> enumeration.
  9731.  </value>
  9732.     <remarks>
  9733.  This property is typically used when handling multiple DOP-related events in one
  9734.  method, and some distinction is needed between multiple DOP objects.
  9735.  </remarks>
  9736. </member><member name="P:StormSource.Gps.DilutionOfPrecision.Value">
  9737.     <summary>Indicates the confidence level of a positional measurement.</summary>
  9738.     <value>An <strong>Integer</strong> value.</value>
  9739.     <remarks>
  9740.         <para>This property is used to determine whether or not a positional measurement
  9741.  should be ignored due to insufficient accuracy. This property can hold values
  9742.  between 1.0 and 50.0, where 1.0 means ideal accuracy and 50.0 means measurements
  9743.  may be off by a factor of fifty.  Typically, DOP values start at fifty when the 
  9744.  GPS device first begins searching for satellites, then values drop lower once a 
  9745.  fix has been acquired and more satellites become involved in the fix.</para>
  9746.         <para>When this property changes, the <see cref="E:StormSource.Gps.DilutionOfPrecision.ValueChanged(System.Object,StormSource.Gps.DilutionOfPrecisionEventArgs)">ValueChanged</see>
  9747.  event is raised.</para>
  9748.     </remarks>
  9749.     <example>
  9750.  This example examines the horizontal dilution of precision to see if positional
  9751.  measurements are accurate enough for en-route navigation.
  9752.  <code lang="VB">
  9753.  Dim MyReceiver As New Receiver()
  9754.  ' Is the horizontal DOP six or less?
  9755.  If MyReceiver.HorizontalDilutionOfPrecision.Value <= 6 Then
  9756.      ' Yes.  The position is accurate enough for in-car navigation
  9757.  Else
  9758.      ' No.  Precision may be too low to make an intelligent navigation recommendation
  9759.  End If
  9760.  </code>
  9761.         <code lang="C#">
  9762.  Receiver MyReceiver = New Receiver();
  9763.  // Is the horizontal DOP six or less?
  9764.  if (Receiver.HorizontalDilutionOfPrecision.Value <= 6)
  9765.  {
  9766.      // Yes.  The position is accurate enough for in-car navigation
  9767.  }
  9768.  else
  9769.  {
  9770.      // No.  Precision may be too low to make an intelligent navigation recommendation
  9771.  }
  9772.  </code>
  9773.     </example>
  9774.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.Rating">Rating Property</seealso>
  9775.     <seealso cref="E:StormSource.Gps.DilutionOfPrecision.ValueChanged(System.Object,StormSource.Gps.DilutionOfPrecisionEventArgs)">ValueChanged Event</seealso>
  9776. </member><member name="M:StormSource.Gps.DilutionOfPrecision.ToString">
  9777.     <summary>Returns the value of a DOP measurement in a user-friendly format.</summary>
  9778.     <remarks>
  9779.  This method is typically used to present the value of a DOP rating to a user
  9780.  interface.
  9781.  </remarks>
  9782.     <returns>A <strong>String</strong> in the following format: "VV (RRRRRR)" where
  9783.  <strong>V</strong> is the Value property, and <strong>R</strong> is the associated
  9784.  rating from the <see cref="P:StormSource.Gps.DilutionOfPrecision.Rating">Rating</see> property.
  9785.  </returns>
  9786.     <example>
  9787.  This example sets the text of a TextBox to the current mean dilution of precision.
  9788.  <code lang="VB">
  9789.  ' This produces a result such as "1 (Ideal)" or "47 (Poor)", etc.
  9790.  MyTextBox.Text = Receiver.MeanDilutionOfPrecision.ToString()
  9791.  </code>
  9792.         <code lang="C#">
  9793.  // This produces a result such as "1 (Ideal)" or "47 (Poor)", etc.
  9794.  MyTextBox.Text = Receiver.MeanDilutionOfPrecision.ToString();
  9795.  </code>
  9796.     </example>
  9797. </member><member name="T:StormSource.Gps.DilutionOfPrecision">
  9798.     <summary>Represents a confidence level in positional measurements.</summary>
  9799.     <remarks>
  9800.         <para>Dilution of precision (or DOP for short) is an important concept in GPS
  9801.  programming because it describes how much you can actually trust the device when it
  9802.  reports your position. Any applications which perform recommendations based on the
  9803.  current location -- such as in-car driving directions -- must analyze DOP values
  9804.  frequently to minimize incorrect suggestions.</para>
  9805.         <para>DOP values can be measured in three ways: <see cref="P:StormSource.Gps.DilutionOfPrecision.CurrentMean">mean</see>,
  9806.  <see cref="P:StormSource.Gps.DilutionOfPrecision.CurrentHorizontal">horizontal</see>, and
  9807.  <see cref="P:StormSource.Gps.DilutionOfPrecision.CurrentVertical">vertical</see>. Mean dilution of precision (also known as MDOP or PDOP) reports the
  9808.  overall confidence in any measurement of latitude, longitude or altitude.
  9809.  Horizontal DOP (or HDOP) reports the confidence level of latitude/longitude
  9810.  measurements. Finally, vertical DOP reports the confidence level of altitude
  9811.  measurements.</para>
  9812.         <para>A dilution of precision measurement can be between one and fifty, where
  9813.  one represents ideal accuracy, and fifty means that measurements can be grossly
  9814.  inaccurate by a factor of fifty. A value of six or less is recommended for
  9815.  applications which make recommendations based on the current position, and a
  9816.  value of three or less is required for any application which requires high
  9817.  precision, such as for land surveys.</para>
  9818.         <para>The exact value of this property depends on the distribution of
  9819.  <see cref="P:StormSource.Gps.SatelliteCollection.FixedCount">fixed satellites</see> in the sky. If a fixed satellite is in each quadrant of
  9820.  the sky (further apart), DOP values are smaller because there are fewer
  9821.  possible trilateration solutions. On the other hand, if all fixed satellites
  9822.  are closer together and almost directly overhead, DOP values are larger because
  9823.  there are many trilateration solutions. (Trilateration is the process of
  9824.  determining where multiple circles intersect.)</para>
  9825.         <para>
  9826.             <img src="GoodDOP.jpg"/>
  9827.             <img src="PoorDOP.jpg"/>
  9828.         </para>
  9829.         <para>In order to simplify the process of programming with DOP, the
  9830.  <see cref="P:StormSource.Gps.DilutionOfPrecision.Rating">Rating</see> property was developed. This property 
  9831.  returns DOP values in the form of an in-English description. When used frequently, this 
  9832.  property can help developers to maximize precision and intelligence during automated
  9833.  business decisions.</para>
  9834.     </remarks>
  9835.     <seealso cref="P:StormSource.Gps.DilutionOfPrecision.Rating">Rating Property</seealso>
  9836.     <example>
  9837.  This example demonstrates how DOP values are typically used in applications to make
  9838.  business decisions.
  9839.  <code lang="VB">
  9840.  ' How accurate is the position?
  9841.  Select Case Receiver.MeanDilutionOfPrecision.Rating 
  9842.      Case DilutionOfPrecisionRating.Ideal
  9843.          ' Used when the utmost precision is absolutely necessary
  9844.      Case DilutionOfPrecisionRating.Excellent
  9845.          ' Minimum level for high-precision applications
  9846.      Case DilutionOfPrecisionRating.Good
  9847.          ' Minimum level for en-route navigation
  9848.      Case DilutionOfPrecisionRating.Moderate
  9849.          ' Middle of the road, OK to show as approximate location
  9850.      Case DilutionOfPrecisionRating.Fair
  9851.          ' The fix solution should not be used for decision-making
  9852.      Case DilutionOfPrecisionRating.Poor
  9853.          ' Either no fix is available or the fix is unstable
  9854.  End Select
  9855.  </code>
  9856.         <code lang="C#">
  9857.  // How accurate is the position?
  9858.  switch(Receiver.MeanDilutionOfPrecision.Rating);
  9859.  {
  9860.      case DilutionOfPrecisionRating.Ideal:
  9861.          // Used when the utmost precision is absolutely necessary
  9862.      case DilutionOfPrecisionRating.Excellent:
  9863.          // Minimum level for high-precision applications
  9864.      case DilutionOfPrecisionRating.Good:
  9865.          // Minimum level for en-route navigation
  9866.      case DilutionOfPrecisionRating.Moderate:
  9867.          // Middle of the road, OK to show as approximate location
  9868.      case DilutionOfPrecisionRating.Fair:
  9869.          // The fix solution should not be used for decision-making
  9870.      case DilutionOfPrecisionRating.Poor:
  9871.          // Either no fix is available or the fix is unstable
  9872.  }
  9873.  </code>
  9874.     </example>
  9875. </member><member name="F:StormSource.Gps.Speed.SpeedOfLight">
  9876.     <summary>Returns the rate of travel of light in a vacuum.</summary>
  9877.     <remarks>
  9878.  The speed of light is used to determine distances such as the meter, which is
  9879.  defined as the distance travelled by light for 1/299792458th of a second.
  9880.  </remarks>
  9881. </member><member name="F:StormSource.Gps.Speed.SpeedOfSoundAtSeaLevel">
  9882.     <summary>Returns the rate of travel of sound waves at sea level.</summary>
  9883. </member><member name="E:StormSource.Gps.Speed.ValueChanged(System.Object,StormSource.Gps.SpeedEventArgs)">
  9884.     <summary>Occurs when the Value property has changed.</summary>
  9885.     <remarks>
  9886.  This event is typically used to monitor the current rate of travel. For example,
  9887.  an application could use this event to see if the Speed has just gone over 50MPH, at
  9888.  which point an alarm would occur.
  9889.  </remarks>
  9890. </member><member name="E:StormSource.Gps.Speed.UnitsChanged(System.Object,StormSource.Gps.SpeedEventArgs)">
  9891.     <summary>Occurs when the Units property has changed.</summary>
  9892.     <remarks>
  9893.         <para>This event is typically used to recalculate formulas based on a speed
  9894.      measurement, it's Unit type in particular.</para>
  9895.         <para><img src="BestPractice.jpg"/></para><para><strong>Always explicitly convert
  9896.      to a specific speed unit type before performing mathematics.</strong></para>
  9897.         <para>Since the Units property of the Speed class can be modified, it is not safe
  9898.      to assume that a speed measurement will always be of a certain unit type.
  9899.      Therefore, use a conversion method such as <see cref="M:StormSource.Gps.Speed.ToKilometersPerHour">
  9900.      ToKilometersPerHour</see> or <see cref="M:StormSource.Gps.Speed.ToStatuteMilesPerHour">
  9901.      ToStatuteMilesPerHour</see> to ensure that the speed is in the correct unit type
  9902.      before perfoming mathematics.</para>
  9903.     </remarks>
  9904. </member><member name="M:StormSource.Gps.Speed.#ctor">
  9905.     <summary>Creates a new instance of zero meters.</summary>
  9906. </member><member name="M:StormSource.Gps.Speed.#ctor(System.Double,StormSource.Gps.SpeedUnit)">
  9907.     <summary>Creates a new instance using the specified value and unit type.</summary>
  9908.     <remarks>This is the most frequently used constructor of the speed class.</remarks>
  9909.     <param name="value">A <strong>Double</strong> containing a speed measurement.</param>
  9910.     <param name="units">
  9911.  A
  9912.  <see cref="T:StormSource.Gps.SpeedUnit">SpeedUnit</see>
  9913.  value describing the value's type.
  9914.  </param>
  9915. </member><member name="M:StormSource.Gps.Speed.#ctor(System.String)">
  9916.     <param name="value">
  9917.         <para>A <strong>String</strong> in any of the following formats (or a variation
  9918.      depending on the local culture):</para>
  9919.         <para>
  9920.             <table cellspacing="0" cols="4" cellpadding="2" width="100%">
  9921.                 <tbody>
  9922.                     <tr>
  9923.                         <td>vv uu</td>
  9924.                         <td>vv.v uu</td>
  9925.                         <td>vvuu</td>
  9926.                     </tr>
  9927.                 </tbody>
  9928.             </table>
  9929.         </para>
  9930.         <para>Where <strong>vv.v</strong> indicates a numeric value, and uu is any of the
  9931.      following case-insensitive units:</para>
  9932.         <para>
  9933.             <table cellspacing="0" cols="4" cellpadding="2" width="100%">
  9934.                 <tbody>
  9935.                     <tr>
  9936.                         <td>FT/S</td>
  9937.                         <td>FT/SEC</td>
  9938.                         <td>FEET PER SECOND</td>
  9939.                         <td>FEET PER SEC</td>
  9940.                     </tr>
  9941.                     <tr>
  9942.                         <td>FEET/SEC</td>
  9943.                         <td>KPH</td>
  9944.                         <td>KM/H</td>
  9945.                         <td>KM/HR</td>
  9946.                     </tr>
  9947.                     <tr>
  9948.                         <td>KILOMETERS/HOUR</td>
  9949.                         <td>KM/S</td>
  9950.                         <td>KM/SEC</td>
  9951.                         <td>KM/SECOND</td>
  9952.                     </tr>
  9953.                     <tr>
  9954.                         <td height="18">KNOT</td>
  9955.                         <td height="18">KNOTS</td>
  9956.                         <td height="18">KTS</td>
  9957.                         <td height="18">M/S</td>
  9958.                     </tr>
  9959.                     <tr>
  9960.                         <td>M/SEC</td>
  9961.                         <td>M/SECOND</td>
  9962.                         <td>MPH</td>
  9963.                         <td>MI/HR</td>
  9964.                     </tr>
  9965.                     <tr>
  9966.                         <td>MILES/HOUR</td>
  9967.                         <td></td>
  9968.                         <td></td>
  9969.                         <td></td>
  9970.                     </tr>
  9971.                 </tbody>
  9972.             </table>
  9973.         </para>
  9974.         <para><em><font size="2">To request additional unit types, please send feedback by
  9975.      clicking the link at the bottom of this page.</font></em></para>
  9976.     </param>
  9977.     <remarks>
  9978.  This powerful method is designed to simplify the process of parsing values read
  9979.  from a data store or typed in by the user.
  9980.  </remarks>
  9981. </member><member name="M:StormSource.Gps.Speed.Clone">
  9982.     <summary>Creates a mutable copy of the current instance.</summary>
  9983. </member><member name="P:StormSource.Gps.Speed.CurrentSpeed">
  9984.     <summary>Returns the current rate of travel.</summary>
  9985.     <value>A <strong>Speed</strong> object.</value>
  9986.     <remarks>
  9987.  This shared property provides the same functionality as the
  9988.  <strong>Speed</strong> property of the
  9989.  <see cref="T:StormSource.Gps.Receiver">Receiver</see>
  9990.  class.
  9991.  </remarks>
  9992. </member><member name="M:StormSource.Gps.Speed.ToFeetPerSecond">
  9993.     <summary>Converts the current measurement into feet per second.</summary>
  9994.     <remarks>The measurement is converted regardless of its current unit type.</remarks>
  9995. </member><member name="M:StormSource.Gps.Speed.ToKilometersPerHour">
  9996.     <remarks>The measurement is converted regardless of its current unit type.</remarks>
  9997.     <summary>Converts the current measurement into kilometers per hour.</summary>
  9998. </member><member name="M:StormSource.Gps.Speed.ToKilometersPerSecond">
  9999.     <remarks>The measurement is converted regardless of its current unit type.</remarks>
  10000.     <summary>Converts the current measurement into kilometers per second.</summary>
  10001. </member><member name="M:StormSource.Gps.Speed.ToKnots">
  10002.     <remarks>The measurement is converted regardless of its current unit type.</remarks>
  10003. </member><member name="M:StormSource.Gps.Speed.ToMetersPerSecond">
  10004.     <remarks>The measurement is converted regardless of its current unit type.</remarks>
  10005. </member><member name="M:StormSource.Gps.Speed.ToStatuteMilesPerHour">
  10006.     <remarks>The measurement is converted regardless of its current unit type.</remarks>
  10007. </member><member name="P:StormSource.Gps.Speed.Units">
  10008.     <remarks>
  10009.         <para>Following proper scientific practices, speed measurements are always made
  10010.      using a value paired with a unit type. When this property changes, the
  10011.      <see cref="E:StormSource.Gps.Speed.UnitsChanged(System.Object,StormSource.Gps.SpeedEventArgs)">UnitsChanged</see> event is raised.</para>
  10012.         <para><img src="BestPractice.jpg"/></para><para><strong>Always explicitly
  10013.      convert to a specific speed unit type before performing
  10014.      mathematics.</strong></para>
  10015.         <para>Since the Units property of the Speed class can be modified, it is not
  10016.      safe to assume that a speed measurement will always be of a certain unit type.
  10017.      Therefore, use a conversion method such as <see cref="M:StormSource.Gps.Speed.ToKilometersPerHour">
  10018.      ToKilometersPerHour</see> or <see cref="M:StormSource.Gps.Speed.ToStatuteMilesPerHour">
  10019.      ToStatuteMilesPerHour</see> to ensure that the speed is in the correct unit
  10020.      type before perfoming mathematics.</para>
  10021.     </remarks>
  10022.     <value>
  10023.  A value from the <see cref="T:StormSource.Gps.SpeedUnit">SpeedUnits</see> enumeration.
  10024.  </value>
  10025. </member><member name="P:StormSource.Gps.Speed.Value">
  10026.     <summary>Indicates the numeric portion of a speed measurement.</summary>
  10027.     <remarks>
  10028.  This property is combined with the
  10029.  <see cref="P:StormSource.Gps.Speed.Units">Units</see> property to form a complete
  10030.  speed measurement. When this property changes, the
  10031.  <see cref="E:StormSource.Gps.Speed.ValueChanged(System.Object,StormSource.Gps.SpeedEventArgs)">ValueChanged</see> event is raised.
  10032.  </remarks>
  10033. </member><member name="M:StormSource.Gps.Speed.Parse(System.String)">
  10034.     <summary>Creates a speed measurement based on a string value.</summary>
  10035.     <param name="value">
  10036.         <para>A <strong>String</strong> in any of the following formats (or variation
  10037.      depending on the local culture):</para>
  10038.         <para>
  10039.             <table cellspacing="0" cols="4" cellpadding="2" width="100%">
  10040.                 <tbody>
  10041.                     <tr>
  10042.                         <td>vu</td>
  10043.                         <td>vv.vu</td>
  10044.                         <td>v u</td>
  10045.                     </tr>
  10046.                 </tbody>
  10047.             </table>
  10048.         </para>
  10049.         <para>where <strong>vv.v</strong> is a decimal value and <strong>u</strong> is a
  10050.      unit type made from words in the following list:</para>
  10051.         <para>
  10052.             <table cellspacing="0" cols="3" cellpadding="2" width="100%">
  10053.                 <tbody>
  10054.                     <tr>
  10055.                         <td>FEET</td>
  10056.                         <td>FOOT</td>
  10057.                         <td>METER</td>
  10058.                     </tr>
  10059.                     <tr>
  10060.                         <td>METERS</td>
  10061.                         <td>METRE</td>
  10062.                         <td>METRES</td>
  10063.                     </tr>
  10064.                     <tr>
  10065.                         <td>KILOMETER</td>
  10066.                         <td>KILOMETRE</td>
  10067.                         <td>KILOMETERS</td>
  10068.                     </tr>
  10069.                     <tr>
  10070.                         <td>KILOMETRES</td>
  10071.                         <td>KNOT</td>
  10072.                         <td>KNOTS</td>
  10073.                     </tr>
  10074.                     <tr>
  10075.                         <td>MILE</td>
  10076.                         <td>MILES</td>
  10077.                         <td>STATUTE MILE</td>
  10078.                     </tr>
  10079.                     <tr>
  10080.                         <td>STATUTE MILES</td>
  10081.                         <td>F</td>
  10082.                         <td>FT</td>
  10083.                     </tr>
  10084.                     <tr>
  10085.                         <td>M</td>
  10086.                         <td>KM</td>
  10087.                         <td>K</td>
  10088.                     </tr>
  10089.                     <tr>
  10090.                         <td>PER</td>
  10091.                         <td>-PER-</td>
  10092.                         <td>/</td>
  10093.                     </tr>
  10094.                     <tr>
  10095.                         <td>SECOND</td>
  10096.                         <td>SEC</td>
  10097.                         <td>S</td>
  10098.                     </tr>
  10099.                     <tr>
  10100.                         <td>HOUR</td>
  10101.                         <td>HR</td>
  10102.                         <td>H</td>
  10103.                     </tr>
  10104.                 </tbody>
  10105.             </table>
  10106.         </para>
  10107.         <para>For example, "12 miles per hour" is acceptable because the words "miles,"
  10108.      "per," and "hour" are found in the above list. Some combinations are not supported,
  10109.      such as "feet/hour." The word combination should look similar to a value from the
  10110.      
  10111.  <see cref="T:StormSource.Gps.SpeedUnit">SpeedUnit</see> enumeration.</para>
  10112.     </param>
  10113.     <remarks>
  10114.  This powerful method simplifies the process of processing values read from a data
  10115.  store or entered via the user. This method even supports some natural language
  10116.  processing ability by understanding words (see list above). This method can parse any
  10117.  value created via the ToString method.
  10118.  </remarks>
  10119.     <returns>A new <strong>Speed</strong> object with the specified value and 
  10120.  units.</returns>
  10121. </member><member name="M:StormSource.Gps.Speed.ToString">
  10122.     <summary>Outputs the speed measurement as a formatted string.</summary>
  10123. </member><member name="M:StormSource.Gps.Speed.ToString(System.String)">
  10124.     <summary>
  10125.  Outputs the speed measurement as a formatted string using the specified
  10126.  format.
  10127.  </summary>
  10128. </member><member name="M:StormSource.Gps.Speed.ToString(System.String,System.IFormatProvider)">
  10129.     <summary>
  10130.  Outputs the speed measurement as a formatted string using the specified format
  10131.  and culture information.
  10132.  </summary>
  10133. </member><member name="M:StormSource.Gps.Speed.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  10134.     <summary>Populates the current instance from serialized data.</summary>
  10135. </member><member name="T:StormSource.Gps.Speed">
  10136.     <summary>Represents a measurement of an object's rate of travel.</summary>
  10137.     <remarks>
  10138.         <para>This class is used primarily by the Speed property of the Receiver class to
  10139.      allow for conversion from the native GPS unit type of knots to English and Metric
  10140.      system measurements. This class can be used for generalized mathematical conversion
  10141.      without requiring a GPS device, allowing for conversions between any of six speed
  10142.      unit types: knots, meters per second, kilometers per second, kilometers per hour,
  10143.      feet per second, and statute miles per hour.</para>
  10144.         <para><!--DXMETADATA end -->
  10145.             <!--DXMETADATA start type="FilteredItemList" scrap="INLINE_EXAMPLE" namespace="Example" 
  10146.  source="Item" filter="type=inline" NoHeader="True" NoFooter="True" format="<h4 
  10147.  class=dxh4>$$Example$$</h4>%<see 
  10148.  cref="source=item,id=##EXAMPLEINTRO">taggedcomment</see>%%%filtereditemlist%%" 
  10149.  --><!--DXMETADATA end 
  10150.  -->
  10151.             <!--DXMETADATA start type="FilteredItemList" scrap="MENU_LINK" namespace="seealso" 
  10152.  source="Item" filter="" NoHeader="True" NoFooter="True" format="<h4 
  10153.  class=dxh4>$$See_Also$$</h4><para id=dxseealsocontent>%%filtereditemlist%%</para>" 
  10154.  --></para>
  10155.     </remarks>
  10156. </member><member name="E:StormSource.Gps.CrossTrackError.RecommendedSteeringDirectionChanged(System.Object,StormSource.Gps.CrossTrackErrorEventArgs)">
  10157.     <summary>
  10158.  Occurs when the recommended steering direction has changed from left to right, or vice versa.
  10159.  </summary>
  10160.     <remarks>This event is Occurs when the <see cref="P:StormSource.Gps.CrossTrackError.RecommendedSteeringDirection">RecommendedSteeringDirection</see> 
  10161.  property has changed.  This event is typically used to notify the user that the corrective steering direction 
  10162.  should change.</remarks>
  10163.     <seealso cref="P:StormSource.Gps.CrossTrackError.RecommendedSteeringDirection">RecommendedSteeringDirection Property</seealso>
  10164. </member><member name="M:StormSource.Gps.CrossTrackError.#ctor">
  10165.     <summary>Creates a new instance.</summary>
  10166. </member><member name="M:StormSource.Gps.CrossTrackError.#ctor(StormSource.Gps.Distance)">
  10167.     <summary>Creates a new instance with the specified cross-track error.</summary>
  10168. </member><member name="M:StormSource.Gps.CrossTrackError.#ctor(System.Double,StormSource.Gps.DistanceUnit)">
  10169.     <summary>Creates a new instance with the specified cross-track error.</summary>
  10170. </member><member name="M:StormSource.Gps.CrossTrackError.#ctor(System.String)">
  10171.     <summary>Creates a new instance with the specified cross-track error.</summary>
  10172. </member><member name="M:StormSource.Gps.CrossTrackError.#ctor(System.String,StormSource.Gps.RecommendedSteeringDirection)">
  10173.     <summary>Creates a new instance with the specified cross-track error and recommended steering direction.</summary>
  10174. </member><member name="M:StormSource.Gps.CrossTrackError.#ctor(System.Double,StormSource.Gps.DistanceUnit,StormSource.Gps.RecommendedSteeringDirection)">
  10175.     <summary>Creates a new instance with the specified cross-track error and recommended steering direction.</summary>
  10176. </member><member name="P:StormSource.Gps.CrossTrackError.RecommendedSteeringDirection">
  10177.     <summary>
  10178.  Indicates the recommended steering direction in order to resume a proper course towards a destination.
  10179.  </summary>
  10180.     <value>A value from the <see cref="P:StormSource.Gps.CrossTrackError.RecommendedSteeringDirection">RecommendedSteeringDirection</see> 
  10181.  enumeration, either <strong>Left</strong> or <strong>Right</strong>.</value>
  10182.     <seealso cref="T:StormSource.Gps.RecommendedSteeringDirection">RecommendedSteeringDirection Enumeration</seealso>
  10183. </member><member name="T:StormSource.Gps.CrossTrackError">
  10184.     <summary>Represents information about the distance away from a proscribed course.</summary>
  10185.     <remarks><para>Cross-track error is used while traveling from an origin to a destination.  
  10186.  Cross-track error measures the distance off-course and provides the recommended direction
  10187.  to steer in order to resume course.  This information is most frequently used by pilots and
  10188.  is only valid when <see cref="P:StormSource.Gps.Receiver.OriginWaypoint">origin</see> and <see cref="P:StormSource.Gps.Receiver.DestinationWaypoint">destination</see> 
  10189.  waypoints are set on the GPS device. </para>
  10190.         <para><img src="CrossTrackError.jpg"/></para>
  10191.     </remarks>
  10192. </member><member name="F:StormSource.Gps.Position.NorthPole">
  10193.     <summary>Represents a position at the north pole (90┬░N,0┬░E)</summary>
  10194. </member><member name="F:StormSource.Gps.Position.SouthPole">
  10195.     <summary>Represents a position at the south pole (90┬░S, 0┬░E)</summary>
  10196. </member><member name="E:StormSource.Gps.Position.PositionChanged(System.Object,StormSource.Gps.PositionEventArgs)">
  10197.     <summary>Occurs when the latitude or longitude properties have changed.</summary>
  10198.     <remarks>
  10199.  This event is typically used to receive notification when a specific position has
  10200.  changed, regardless if the change is specific to latitude or longitude. This event is
  10201.  not Occurs when the ellipsoid changes.
  10202.  </remarks>
  10203. </member><member name="E:StormSource.Gps.Position.LatitudeChanged(System.Object,StormSource.Gps.LatitudeEventArgs)">
  10204.     <summary>Occurs when the Latitude property has changed.</summary>
  10205. </member><member name="E:StormSource.Gps.Position.LongitudeChanged(System.Object,StormSource.Gps.LongitudeEventArgs)">
  10206.     <summary>Occurs when the Longitude property has changed.</summary>
  10207. </member><member name="M:StormSource.Gps.Position.#ctor(StormSource.Gps.Latitude,StormSource.Gps.Longitude)">
  10208.     <overloads>Creates a new instance.</overloads>
  10209. </member><member name="M:StormSource.Gps.Position.#ctor(StormSource.Gps.Latitude,StormSource.Gps.Longitude,StormSource.Gps.Ellipsoid)">
  10210.     <summary>
  10211.  Creates a new instance using the specified latitude, longitude and
  10212.  ellipsoid.
  10213.  </summary>
  10214.     <remarks>
  10215.  This constructor is commonly used when a new position must be created using an
  10216.  ellipsoid other than the default of WGS1984.
  10217.  </remarks>
  10218.     <param name="latitude">An angle from the equator between -90┬░ and +90┬░.</param>
  10219.     <param name="longitude">An angle from the Prime Meridian between -90┬░ and +90┬░.</param>
  10220.     <param name="ellipsoid">An ellipsoid to associate with the given latitude and 
  10221.  longitude.</param>
  10222. </member><member name="M:StormSource.Gps.Position.SpeedTo(StormSource.Gps.Position,System.TimeSpan)">
  10223.     <summary>
  10224.  Returns the minimum speed required to travel from the current location to the
  10225.  specified destination within the specified period of time.
  10226.  </summary>
  10227. </member><member name="M:StormSource.Gps.Position.SpeedTo(StormSource.Gps.Position,StormSource.Gps.Position,System.TimeSpan)">
  10228.     <overloads>
  10229.  Calculates the minimum speed required to arrive at a destination in the given
  10230.  time.
  10231.  </overloads>
  10232.     <summary>
  10233.  Returns the minimum speed required to travel over land from the given starting
  10234.  point to the specified destination within the specified period of time.
  10235.  </summary>
  10236.     <returns>
  10237.  A <strong>Speed</strong> object containing the required minimum travel
  10238.  speed.
  10239.  </returns>
  10240.     <remarks>
  10241.  This method is typically used to compare the current speed with the minimum
  10242.  required speed. For example, if the current rate of travel is 30MPH and the minimum
  10243.  speed is 60MPH, it can be derived that the speed must be doubled to arrive at the
  10244.  destination on time. Of course, care must be taken when making any suggestion to
  10245.  increase driving speed.
  10246.  </remarks>
  10247.     <param name="start">The beginning point from which calculations are based.</param>
  10248.     <param name="destination">The ending point to which speed is calculated.</param>
  10249.     <param name="time">The amount of time allowed to reach the destination.</param>
  10250. </member><member name="M:StormSource.Gps.Position.TimeTo(StormSource.Gps.Position)">
  10251.     <summary>
  10252.  Returns the minimum time required to travel to the given destination at the
  10253.  current speed.
  10254.  </summary>
  10255.     <returns>
  10256.  A <strong>TimeSpan</strong> object indicating the minimum travel time
  10257.  required.
  10258.  </returns>
  10259.     <remarks>
  10260.  This method is typically used to figure out how much time it will take to travel
  10261.  from one place to another over land. The current speed is the speed reported by the GPS
  10262.  device.
  10263.  </remarks>
  10264.     <param name="destination">A <strong>Position</strong> object specifying a destination 
  10265.  on Earth.</param>
  10266. </member><member name="M:StormSource.Gps.Position.TimeTo(StormSource.Gps.Position,StormSource.Gps.Speed)">
  10267.     <summary>
  10268.  Returns the minimum time required to travel to the given destination at the
  10269.  specified constant speed.
  10270.  </summary>
  10271. </member><member name="M:StormSource.Gps.Position.TimeTo(StormSource.Gps.Position,StormSource.Gps.Position,StormSource.Gps.Speed)">
  10272.     <overloads>
  10273.  Calculates the time required to arrive at a destination when traveling at the
  10274.  specified speed.
  10275.  </overloads>
  10276.     <summary>
  10277.  Returns the minimum amount of time required to reach the specified destination at
  10278.  the specified speed.
  10279.  </summary>
  10280. </member><member name="M:StormSource.Gps.Position.DistanceTo(StormSource.Gps.Position,StormSource.Gps.Position)">
  10281.     <overloads>Calculates the great circle distance between any two points on 
  10282.  Earth.</overloads>
  10283.     <summary>
  10284.  Returns the distance over land from the given starting point to the specified
  10285.  destination.
  10286.  </summary>
  10287.     <returns>
  10288.  A <strong>Distance</strong> object containing the calculated distance in
  10289.  kilometers.
  10290.  </returns>
  10291.     <param name="start">A beginning point from which to calculate distance.</param>
  10292.     <param name="destination">The ending point of a segment.</param>
  10293.     <remarks>
  10294.  This method uses trigonometry to calculate the Great Circle (over Earth's curved
  10295.  surface) distance between any two points on Earth. The distance is returned in
  10296.  kilometers but can be converted to any other unit type using methods in the
  10297.  <see cref="T:StormSource.Gps.Distance">Distance</see>
  10298.  class.
  10299.  </remarks>
  10300. </member><member name="M:StormSource.Gps.Position.IntersectionOf(StormSource.Gps.Position,StormSource.Gps.Angle,StormSource.Gps.Position,StormSource.Gps.Angle)">
  10301.     <overloads>Calculates a position which marks the intersection of two 
  10302.  vectors.</overloads>
  10303.     <summary>Calculates the point (if any) at which two imaginary lines 
  10304.  intersect.</summary>
  10305.     <returns>A <strong>Position</strong> object specifying the intersection 
  10306.  point.</returns>
  10307.     <remarks>
  10308.  This method uses trigonometry to calculate the point at which two lines intersect
  10309.  on Earth's surface. This method is typically used to see if two physical objects might
  10310.  meet at a point given their current direction of travel.
  10311.  </remarks>
  10312.     <param name="start">A position on Earth's surface.</param>
  10313.     <param name="startBearing">The direction of an imaginary line from the first 
  10314.  position.</param>
  10315.     <param name="destination">A position on Earth's surface.</param>
  10316.     <param name="destinationBearing">The direction of an imaginary line from the second 
  10317.  position.</param>
  10318. </member><member name="M:StormSource.Gps.Position.Translate(System.Double,System.Double,StormSource.Gps.DistanceUnit)">
  10319.     <overloads>Shifts the current instance by the specified bearing and 
  10320.  distance.</overloads>
  10321.     <summary>Adjusts the current instance by the specified distance and bearing.</summary>
  10322.     <remarks>
  10323.  This method is typically used to adjust a position in order to be more accurate
  10324.  when compared to a physical landmark.
  10325.  </remarks>
  10326.     <param name="bearing">The direction in which to shift the current location.</param>
  10327.     <param name="distanceValue">The numeric portion of the distance to shift.</param>
  10328.     <param name="distanceUnit">The units portion of the distance to shift.</param>
  10329. </member><member name="M:StormSource.Gps.Position.TranslateTo(StormSource.Gps.Position,StormSource.Gps.Angle,StormSource.Gps.Distance)">
  10330.     <overloads>
  10331.  Returns the position shifted by the specified bearing and distance as new
  10332.  Position object.
  10333.  </overloads>
  10334.     <summary>Returns a new instance shifted by the specified direction and 
  10335.  distance.</summary>
  10336.     <returns>A new <strong>Position</strong> object adjusted by the specified 
  10337.  amount.</returns>
  10338.     <remarks>
  10339.         <para>This method is typically used to create an destination point relative to an
  10340.      existing location. For example, this method could be used to create a point ten
  10341.      miles northeast of the current location.</para>
  10342.         <para><em>NOTE: The trigonometric formula used for this method is subject to errors
  10343.      when the distance to translate falls below a quarter mile (approximately 433
  10344.      meters).</em></para>
  10345.     </remarks>
  10346.     <param name="start">A <strong>Position</strong> to be adjusted.</param>
  10347.     <param name="bearing">A direction from the starting point to perform 
  10348.  adjustment.</param>
  10349.     <param name="distance">The amount to adjust from the starting point.</param>
  10350.     <example>
  10351.         <code lang="VB" title="[New Example]" description="This example creates a destination point ten miles northwest of the 
  10352.  current location.">
  10353.  
  10354.  ' Create a distance of ten miles
  10355.  Dim TravelDistance As New Distance(10, DistanceUnit.StatuteMiles)
  10356.  ' Calculate the point
  10357.  Dim DestinationPoint As Position
  10358.  DestinationPoint = Position.CurrentPosition.TranslateTo(Azimuth.NorthWest, 
  10359.  TravelDistance)
  10360.      </code>
  10361.     </example>
  10362. </member><member name="M:StormSource.Gps.Position.ToEllipsoid(StormSource.Gps.EllipsoidType)">
  10363.     <overloads>Converts the positional measurement to another ellipsoid.</overloads>
  10364. </member><member name="M:StormSource.Gps.Position.Equals(System.String,System.String,System.Int32)">
  10365.     <overloads>Compares the equivalence of the current instance with the specified 
  10366.  value.</overloads>
  10367. </member><member name="M:StormSource.Gps.Position.ToUtmPosition(StormSource.Gps.Position,StormSource.Gps.EllipsoidType)">
  10368.     <overloads>Converts the current instance to a UTM position.</overloads>
  10369. </member><member name="M:StormSource.Gps.Position.InitialBearingTo(StormSource.Gps.Position,StormSource.Gps.Position)">
  10370.     <overloads>Returns the direction of travel from one position to another.</overloads>
  10371. </member><member name="P:StormSource.Gps.Position.Latitude">
  10372.     <summary>Represents a distance north or south from the equator.</summary>
  10373. </member><member name="P:StormSource.Gps.Position.Longitude">
  10374.     <summary>Represents a distance east or west from the Prime Meridian.</summary>
  10375. </member><member name="M:StormSource.Gps.Position.ToString(System.String)">
  10376.     <overloads>Outputs the current instance as a formatted string.</overloads>
  10377. </member><member name="P:StormSource.Gps.Position.Ellipsoid">
  10378.     <summary>Represents the ellipsoid this positional measurement is based.</summary>
  10379. </member><member name="M:StormSource.Gps.Position.Parse(System.String)">
  10380.     <summary>Converts a string-based positional measurement into a Position 
  10381.  object.</summary>
  10382. </member><member name="M:StormSource.Gps.Position.Clone">
  10383.     <summary>Returns a copy of the current instance.</summary>
  10384. </member><member name="P:StormSource.Gps.Position.CurrentPosition">
  10385.     <summary>Returns the current location reported by the GPS device.</summary>
  10386. </member><member name="T:StormSource.Gps.Position">
  10387.     <summary>Represents a location on Earth's surface marked by the intersection of latitude and longitude.</summary>
  10388.     <remarks><para><img src="Position.jpg"/></para></remarks>
  10389. </member>
  10390. </members>
  10391. </doc>